proofs/containers/lru/purge.bend

bend-collections-laws-containers@1.0.0.0 · 612 lines · 0 definitions

1import Base
2import bend-collections-laws-containers@1.0.0.0/proofs/lib/logic.bend as L
3import bend-collections-laws-containers@1.0.0.0/proofs/lib/nat.bend as N
4import bend-collections-laws-containers@1.0.0.0/proofs/lib/array.bend as AR
5import bend-collections-laws-containers@1.0.0.0/spec/lib/common.bend as SC
6import bend-collections-laws-containers@1.0.0.0/spec/containers/lru.bend as SP
7import bend-collections-laws-containers@1.0.0.0/proofs/lib/u32div.bend as UD
8import bend-collections-laws-containers@1.0.0.0/src/math/u64.bend as W
9import bend-collections-laws-containers@1.0.0.0/src/containers/lru.bend as LR
10import bend-collections-laws-containers@1.0.0.0/proofs/containers/hash_table/table.bend as TB
11import bend-collections-laws-containers@1.0.0.0/proofs/containers/hash_table/buckets.bend as B
12import bend-collections-laws-containers@1.0.0.0/proofs/containers/hash_table/cyc.bend as CY
13import bend-collections-laws-containers@1.0.0.0/proofs/containers/hash_table/inv.bend as IV
14import bend-collections-laws-containers@1.0.0.0/proofs/containers/lru/state.bend as ST
15import bend-collections-laws-containers@1.0.0.0/proofs/containers/lru/basic.bend as BA
16import bend-collections-laws-containers@1.0.0.0/proofs/containers/lru/rmat.bend as RM
17import bend-collections-laws-containers@1.0.0.0/proofs/containers/lru/meta.bend as MT
18
19import bend-collections-laws-containers@1.0.0.0/proofs/containers/lru/resize.bend as RZ
20import bend-collections-laws-containers@1.0.0.0/proofs/containers/hash_table/grow.bend as GR
21import bend-collections-laws-containers@1.0.0.0/proofs/lib/word.bend as WD
22import bend-collections-laws-containers@1.0.0.0/proofs/lib/words32.bend as W32
23import bend-collections-laws-containers@1.0.0.0/proofs/lib/u32_tree.bend as UT
24
25# purge: every entry and the counters cleared, the table kept at its size.
26
27
28
29def z_bsl(+d: Nat, +kl: List<&2, String>, +n: Nat, +sl: List<&2, Nat>, +ll: List<&2, U32>, +m: Nat, +hm: {Nat.is_le(m, n) == True{} : Bool}) -> {ST.bsl(TB.buckets(AR.slots(U32, AR.trep(U32, d, 0)), kl, n), sl, ll, m) == True{} : Bool}:
30  match m:
31    case 0n:
32      {==}
33    case 1n+q:
34      +hq = N.succ_le_lt(q, n, hm)
35      L.and_intro(ST.bslb(sl, ll, B.at(TB.buckets(AR.slots(U32, AR.trep(U32, d, 0)), kl, n), q)), ST.bsl(TB.buckets(AR.slots(U32, AR.trep(U32, d, 0)), kl, n), sl, ll, q), L.subst(B.Bk, z => {ST.bslb(sl, ll, z) == True{} : Bool}, B.BE{}, B.at(TB.buckets(AR.slots(U32, AR.trep(U32, d, 0)), kl, n), q), Equal.sym(B.Bk, B.at(TB.buckets(AR.slots(U32, AR.trep(U32, d, 0)), kl, n), q), B.BE{}, GR.at_z(d, kl, n, q, hq)), {==}), z_bsl(d, kl, n, sl, ll, q, N.lt_le(q, n, hq)))
36
37# ---- zeroing the fresh count and the counters ----
38
39def zp(+mT: AR.Tree<U32>, +pm: {AR.perfect(U32, 5n, mT) == True{} : Bool}) -> {AR.perfect(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)) == True{} : Bool}:
40  +p1 = UT.uset_p(5n, mT, pm, 0n, 0)
41  +p2 = UT.uset_p(5n, AR.upd(U32, 5n, mT, 0n, 0), p1, 16n, 0)
42  +p3 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), p2, 17n, 0)
43  +p4 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), p3, 18n, 0)
44  +p5 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), p4, 19n, 0)
45  +p6 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), p5, 20n, 0)
46  +p7 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), p6, 21n, 0)
47  +p8 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), p7, 22n, 0)
48  +p9 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), p8, 23n, 0)
49  +p10 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), p9, 24n, 0)
50  UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), p10, 25n, 0)
51
52# zero_ctrs is the tree with words 0, 16 .. 25 cleared
53def za(+mT: AR.Tree<U32>, +pm: {AR.perfect(U32, 5n, mT) == True{} : Bool}) -> {LR.zero_ctrs(AR.thaw(U32, mT)) == AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)) : Array<U32>}:
54  +p1 = UT.uset_p(5n, mT, pm, 0n, 0)
55  +a0 = Equal.cong(Array<U32>, Array<U32>, z => Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, z, 16, 0), 17, 0), 18, 0), 19, 0), 20, 0), 21, 0), 22, 0), 23, 0), 24, 0), 25, 0), Array.set(U32, AR.thaw(U32, mT), 0, 0), AR.thaw(U32, AR.upd(U32, 5n, mT, 0n, 0)), UT.uset_a(5n, {==}, mT, pm, 0, {==}, 0))
56  +p2 = UT.uset_p(5n, AR.upd(U32, 5n, mT, 0n, 0), p1, 16n, 0)
57  +a1 = Equal.cong(Array<U32>, Array<U32>, z => Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, z, 17, 0), 18, 0), 19, 0), 20, 0), 21, 0), 22, 0), 23, 0), 24, 0), 25, 0), Array.set(U32, AR.thaw(U32, AR.upd(U32, 5n, mT, 0n, 0)), 16, 0), AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0)), UT.uset_a(5n, {==}, AR.upd(U32, 5n, mT, 0n, 0), p1, 16, {==}, 0))
58  +p3 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), p2, 17n, 0)
59  +a2 = Equal.cong(Array<U32>, Array<U32>, z => Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, z, 18, 0), 19, 0), 20, 0), 21, 0), 22, 0), 23, 0), 24, 0), 25, 0), Array.set(U32, AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0)), 17, 0), AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0)), UT.uset_a(5n, {==}, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), p2, 17, {==}, 0))
60  +p4 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), p3, 18n, 0)
61  +a3 = Equal.cong(Array<U32>, Array<U32>, z => Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, z, 19, 0), 20, 0), 21, 0), 22, 0), 23, 0), 24, 0), 25, 0), Array.set(U32, AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0)), 18, 0), AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0)), UT.uset_a(5n, {==}, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), p3, 18, {==}, 0))
62  +p5 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), p4, 19n, 0)
63  +a4 = Equal.cong(Array<U32>, Array<U32>, z => Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, z, 20, 0), 21, 0), 22, 0), 23, 0), 24, 0), 25, 0), Array.set(U32, AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0)), 19, 0), AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0)), UT.uset_a(5n, {==}, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), p4, 19, {==}, 0))
64  +p6 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), p5, 20n, 0)
65  +a5 = Equal.cong(Array<U32>, Array<U32>, z => Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, z, 21, 0), 22, 0), 23, 0), 24, 0), 25, 0), Array.set(U32, AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0)), 20, 0), AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0)), UT.uset_a(5n, {==}, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), p5, 20, {==}, 0))
66  +p7 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), p6, 21n, 0)
67  +a6 = Equal.cong(Array<U32>, Array<U32>, z => Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, z, 22, 0), 23, 0), 24, 0), 25, 0), Array.set(U32, AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0)), 21, 0), AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0)), UT.uset_a(5n, {==}, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), p6, 21, {==}, 0))
68  +p8 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), p7, 22n, 0)
69  +a7 = Equal.cong(Array<U32>, Array<U32>, z => Array.set(U32, Array.set(U32, Array.set(U32, z, 23, 0), 24, 0), 25, 0), Array.set(U32, AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0)), 22, 0), AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0)), UT.uset_a(5n, {==}, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), p7, 22, {==}, 0))
70  +p9 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), p8, 23n, 0)
71  +a8 = Equal.cong(Array<U32>, Array<U32>, z => Array.set(U32, Array.set(U32, z, 24, 0), 25, 0), Array.set(U32, AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0)), 23, 0), AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0)), UT.uset_a(5n, {==}, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), p8, 23, {==}, 0))
72  +p10 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), p9, 24n, 0)
73  +a9 = Equal.cong(Array<U32>, Array<U32>, z => Array.set(U32, z, 25, 0), Array.set(U32, AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0)), 24, 0), AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0)), UT.uset_a(5n, {==}, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), p9, 24, {==}, 0))
74  +p11 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), p10, 25n, 0)
75  +a10 = Equal.cong(Array<U32>, Array<U32>, z => z, Array.set(U32, AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0)), 25, 0), AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), UT.uset_a(5n, {==}, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), p10, 25, {==}, 0))
76  Equal.trans(Array<U32>, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, AR.thaw(U32, mT), 0, 0), 16, 0), 17, 0), 18, 0), 19, 0), 20, 0), 21, 0), 22, 0), 23, 0), 24, 0), 25, 0), Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, AR.thaw(U32, AR.upd(U32, 5n, mT, 0n, 0)), 16, 0), 17, 0), 18, 0), 19, 0), 20, 0), 21, 0), 22, 0), 23, 0), 24, 0), 25, 0), AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), a0, Equal.trans(Array<U32>, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, AR.thaw(U32, AR.upd(U32, 5n, mT, 0n, 0)), 16, 0), 17, 0), 18, 0), 19, 0), 20, 0), 21, 0), 22, 0), 23, 0), 24, 0), 25, 0), Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0)), 17, 0), 18, 0), 19, 0), 20, 0), 21, 0), 22, 0), 23, 0), 24, 0), 25, 0), AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), a1, Equal.trans(Array<U32>, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0)), 17, 0), 18, 0), 19, 0), 20, 0), 21, 0), 22, 0), 23, 0), 24, 0), 25, 0), Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0)), 18, 0), 19, 0), 20, 0), 21, 0), 22, 0), 23, 0), 24, 0), 25, 0), AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), a2, Equal.trans(Array<U32>, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0)), 18, 0), 19, 0), 20, 0), 21, 0), 22, 0), 23, 0), 24, 0), 25, 0), Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0)), 19, 0), 20, 0), 21, 0), 22, 0), 23, 0), 24, 0), 25, 0), AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), a3, Equal.trans(Array<U32>, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0)), 19, 0), 20, 0), 21, 0), 22, 0), 23, 0), 24, 0), 25, 0), Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0)), 20, 0), 21, 0), 22, 0), 23, 0), 24, 0), 25, 0), AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), a4, Equal.trans(Array<U32>, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0)), 20, 0), 21, 0), 22, 0), 23, 0), 24, 0), 25, 0), Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0)), 21, 0), 22, 0), 23, 0), 24, 0), 25, 0), AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), a5, Equal.trans(Array<U32>, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0)), 21, 0), 22, 0), 23, 0), 24, 0), 25, 0), Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0)), 22, 0), 23, 0), 24, 0), 25, 0), AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), a6, Equal.trans(Array<U32>, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0)), 22, 0), 23, 0), 24, 0), 25, 0), Array.set(U32, Array.set(U32, Array.set(U32, AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0)), 23, 0), 24, 0), 25, 0), AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), a7, Equal.trans(Array<U32>, Array.set(U32, Array.set(U32, Array.set(U32, AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0)), 23, 0), 24, 0), 25, 0), Array.set(U32, Array.set(U32, AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0)), 24, 0), 25, 0), AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), a8, Equal.trans(Array<U32>, Array.set(U32, Array.set(U32, AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0)), 24, 0), 25, 0), Array.set(U32, AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0)), 25, 0), AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), a9, a10))))))))))
77
78# the words of the cleared tree
79def zs(+mT: AR.Tree<U32>, +pm: {AR.perfect(U32, 5n, mT) == True{} : Bool}) -> {AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)) == SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, AR.slots(U32, mT), 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0) : List<&2, U32>}:
80  +p1 = UT.uset_p(5n, mT, pm, 0n, 0)
81  +s0 = UT.uset_s(5n, mT, pm, 0n, {==}, 0)
82  +p2 = UT.uset_p(5n, AR.upd(U32, 5n, mT, 0n, 0), p1, 16n, 0)
83  +s1 = UT.uset_s(5n, AR.upd(U32, 5n, mT, 0n, 0), p1, 16n, {==}, 0)
84  +p3 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), p2, 17n, 0)
85  +s2 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), p2, 17n, {==}, 0)
86  +p4 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), p3, 18n, 0)
87  +s3 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), p3, 18n, {==}, 0)
88  +p5 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), p4, 19n, 0)
89  +s4 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), p4, 19n, {==}, 0)
90  +p6 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), p5, 20n, 0)
91  +s5 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), p5, 20n, {==}, 0)
92  +p7 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), p6, 21n, 0)
93  +s6 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), p6, 21n, {==}, 0)
94  +p8 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), p7, 22n, 0)
95  +s7 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), p7, 22n, {==}, 0)
96  +p9 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), p8, 23n, 0)
97  +s8 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), p8, 23n, {==}, 0)
98  +p10 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), p9, 24n, 0)
99  +s9 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), p9, 24n, {==}, 0)
100  +p11 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), p10, 25n, 0)
101  +s10 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), p10, 25n, {==}, 0)
102  +E0 = {{==} : {AR.slots(U32, mT) == AR.slots(U32, mT) : List<&2, U32>}}
103  +E1 = Equal.trans(List<&2, U32>, AR.slots(U32, AR.upd(U32, 5n, mT, 0n, 0)), SC.update(U32, AR.slots(U32, mT), 0n, 0), SC.update(U32, AR.slots(U32, mT), 0n, 0), s0, Equal.cong(List<&2, U32>, List<&2, U32>, z => SC.update(U32, z, 0n, 0), AR.slots(U32, mT), AR.slots(U32, mT), E0))
104  +E2 = Equal.trans(List<&2, U32>, AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0)), SC.update(U32, AR.slots(U32, AR.upd(U32, 5n, mT, 0n, 0)), 16n, 0), SC.update(U32, SC.update(U32, AR.slots(U32, mT), 0n, 0), 16n, 0), s1, Equal.cong(List<&2, U32>, List<&2, U32>, z => SC.update(U32, z, 16n, 0), AR.slots(U32, AR.upd(U32, 5n, mT, 0n, 0)), SC.update(U32, AR.slots(U32, mT), 0n, 0), E1))
105  +E3 = Equal.trans(List<&2, U32>, AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0)), SC.update(U32, AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0)), 17n, 0), SC.update(U32, SC.update(U32, SC.update(U32, AR.slots(U32, mT), 0n, 0), 16n, 0), 17n, 0), s2, Equal.cong(List<&2, U32>, List<&2, U32>, z => SC.update(U32, z, 17n, 0), AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0)), SC.update(U32, SC.update(U32, AR.slots(U32, mT), 0n, 0), 16n, 0), E2))
106  +E4 = Equal.trans(List<&2, U32>, AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0)), SC.update(U32, AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0)), 18n, 0), SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, AR.slots(U32, mT), 0n, 0), 16n, 0), 17n, 0), 18n, 0), s3, Equal.cong(List<&2, U32>, List<&2, U32>, z => SC.update(U32, z, 18n, 0), AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0)), SC.update(U32, SC.update(U32, SC.update(U32, AR.slots(U32, mT), 0n, 0), 16n, 0), 17n, 0), E3))
107  +E5 = Equal.trans(List<&2, U32>, AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0)), SC.update(U32, AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0)), 19n, 0), SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, AR.slots(U32, mT), 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), s4, Equal.cong(List<&2, U32>, List<&2, U32>, z => SC.update(U32, z, 19n, 0), AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0)), SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, AR.slots(U32, mT), 0n, 0), 16n, 0), 17n, 0), 18n, 0), E4))
108  +E6 = Equal.trans(List<&2, U32>, AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0)), SC.update(U32, AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0)), 20n, 0), SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, AR.slots(U32, mT), 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), s5, Equal.cong(List<&2, U32>, List<&2, U32>, z => SC.update(U32, z, 20n, 0), AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0)), SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, AR.slots(U32, mT), 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), E5))
109  +E7 = Equal.trans(List<&2, U32>, AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0)), SC.update(U32, AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0)), 21n, 0), SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, AR.slots(U32, mT), 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), s6, Equal.cong(List<&2, U32>, List<&2, U32>, z => SC.update(U32, z, 21n, 0), AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0)), SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, AR.slots(U32, mT), 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), E6))
110  +E8 = Equal.trans(List<&2, U32>, AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0)), SC.update(U32, AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0)), 22n, 0), SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, AR.slots(U32, mT), 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), s7, Equal.cong(List<&2, U32>, List<&2, U32>, z => SC.update(U32, z, 22n, 0), AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0)), SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, AR.slots(U32, mT), 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), E7))
111  +E9 = Equal.trans(List<&2, U32>, AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0)), SC.update(U32, AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0)), 23n, 0), SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, AR.slots(U32, mT), 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), s8, Equal.cong(List<&2, U32>, List<&2, U32>, z => SC.update(U32, z, 23n, 0), AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0)), SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, AR.slots(U32, mT), 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), E8))
112  +E10 = Equal.trans(List<&2, U32>, AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0)), SC.update(U32, AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0)), 24n, 0), SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, AR.slots(U32, mT), 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), s9, Equal.cong(List<&2, U32>, List<&2, U32>, z => SC.update(U32, z, 24n, 0), AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0)), SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, AR.slots(U32, mT), 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), E9))
113  +E11 = Equal.trans(List<&2, U32>, AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), SC.update(U32, AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0)), 25n, 0), SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, AR.slots(U32, mT), 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0), s10, Equal.cong(List<&2, U32>, List<&2, U32>, z => SC.update(U32, z, 25n, 0), AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0)), SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, AR.slots(U32, mT), 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), E10))
114  E11
115
116# ---- the words of the cleared tree ----
117
118def zw0(+mT: AR.Tree<U32>, +pm: {AR.perfect(U32, 5n, mT) == True{} : Bool}) -> {W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 0n) == 0 : U32}:
119  +p1 = UT.uset_p(5n, mT, pm, 0n, 0)
120  +s0 = UT.uset_s(5n, mT, pm, 0n, {==}, 0)
121  +p2 = UT.uset_p(5n, AR.upd(U32, 5n, mT, 0n, 0), p1, 16n, 0)
122  +s1 = UT.uset_s(5n, AR.upd(U32, 5n, mT, 0n, 0), p1, 16n, {==}, 0)
123  +p3 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), p2, 17n, 0)
124  +s2 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), p2, 17n, {==}, 0)
125  +p4 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), p3, 18n, 0)
126  +s3 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), p3, 18n, {==}, 0)
127  +p5 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), p4, 19n, 0)
128  +s4 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), p4, 19n, {==}, 0)
129  +p6 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), p5, 20n, 0)
130  +s5 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), p5, 20n, {==}, 0)
131  +p7 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), p6, 21n, 0)
132  +s6 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), p6, 21n, {==}, 0)
133  +p8 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), p7, 22n, 0)
134  +s7 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), p7, 22n, {==}, 0)
135  +p9 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), p8, 23n, 0)
136  +s8 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), p8, 23n, {==}, 0)
137  +p10 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), p9, 24n, 0)
138  +s9 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), p9, 24n, {==}, 0)
139  +p11 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), p10, 25n, 0)
140  +s10 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), p10, 25n, {==}, 0)
141  Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 0n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0)), 0n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0), s10, 0n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0)), 0n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0)), 0n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), s9, 0n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0)), 0n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0)), 0n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), s8, 0n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0)), 0n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0)), 0n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), s7, 0n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0)), 0n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0)), 0n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), s6, 0n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0)), 0n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0)), 0n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), s5, 0n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0)), 0n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0)), 0n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), s4, 0n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0)), 0n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0)), 0n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), s3, 0n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0)), 0n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0)), 0n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), s2, 0n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0)), 0n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, mT, 0n, 0)), 0n), 0, MT.nth_other(AR.upd(U32, 5n, mT, 0n, 0), 16n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), s1, 0n, {==}), MT.nth_same(5n, mT, pm, 0n, {==}, 0, AR.upd(U32, 5n, mT, 0n, 0), s0)))))))))))
142
143def zw1(+mT: AR.Tree<U32>, +pm: {AR.perfect(U32, 5n, mT) == True{} : Bool}) -> {W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 1n) == W32.nth0(AR.slots(U32, mT), 1n) : U32}:
144  +p1 = UT.uset_p(5n, mT, pm, 0n, 0)
145  +s0 = UT.uset_s(5n, mT, pm, 0n, {==}, 0)
146  +p2 = UT.uset_p(5n, AR.upd(U32, 5n, mT, 0n, 0), p1, 16n, 0)
147  +s1 = UT.uset_s(5n, AR.upd(U32, 5n, mT, 0n, 0), p1, 16n, {==}, 0)
148  +p3 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), p2, 17n, 0)
149  +s2 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), p2, 17n, {==}, 0)
150  +p4 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), p3, 18n, 0)
151  +s3 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), p3, 18n, {==}, 0)
152  +p5 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), p4, 19n, 0)
153  +s4 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), p4, 19n, {==}, 0)
154  +p6 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), p5, 20n, 0)
155  +s5 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), p5, 20n, {==}, 0)
156  +p7 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), p6, 21n, 0)
157  +s6 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), p6, 21n, {==}, 0)
158  +p8 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), p7, 22n, 0)
159  +s7 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), p7, 22n, {==}, 0)
160  +p9 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), p8, 23n, 0)
161  +s8 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), p8, 23n, {==}, 0)
162  +p10 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), p9, 24n, 0)
163  +s9 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), p9, 24n, {==}, 0)
164  +p11 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), p10, 25n, 0)
165  +s10 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), p10, 25n, {==}, 0)
166  Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 1n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0)), 1n), W32.nth0(AR.slots(U32, mT), 1n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0), s10, 1n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0)), 1n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0)), 1n), W32.nth0(AR.slots(U32, mT), 1n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), s9, 1n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0)), 1n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0)), 1n), W32.nth0(AR.slots(U32, mT), 1n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), s8, 1n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0)), 1n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0)), 1n), W32.nth0(AR.slots(U32, mT), 1n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), s7, 1n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0)), 1n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0)), 1n), W32.nth0(AR.slots(U32, mT), 1n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), s6, 1n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0)), 1n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0)), 1n), W32.nth0(AR.slots(U32, mT), 1n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), s5, 1n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0)), 1n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0)), 1n), W32.nth0(AR.slots(U32, mT), 1n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), s4, 1n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0)), 1n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0)), 1n), W32.nth0(AR.slots(U32, mT), 1n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), s3, 1n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0)), 1n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0)), 1n), W32.nth0(AR.slots(U32, mT), 1n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), s2, 1n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0)), 1n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, mT, 0n, 0)), 1n), W32.nth0(AR.slots(U32, mT), 1n), MT.nth_other(AR.upd(U32, 5n, mT, 0n, 0), 16n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), s1, 1n, {==}), MT.nth_other(mT, 0n, 0, AR.upd(U32, 5n, mT, 0n, 0), s0, 1n, {==})))))))))))
167
168def zw2(+mT: AR.Tree<U32>, +pm: {AR.perfect(U32, 5n, mT) == True{} : Bool}) -> {W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 2n) == W32.nth0(AR.slots(U32, mT), 2n) : U32}:
169  +p1 = UT.uset_p(5n, mT, pm, 0n, 0)
170  +s0 = UT.uset_s(5n, mT, pm, 0n, {==}, 0)
171  +p2 = UT.uset_p(5n, AR.upd(U32, 5n, mT, 0n, 0), p1, 16n, 0)
172  +s1 = UT.uset_s(5n, AR.upd(U32, 5n, mT, 0n, 0), p1, 16n, {==}, 0)
173  +p3 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), p2, 17n, 0)
174  +s2 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), p2, 17n, {==}, 0)
175  +p4 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), p3, 18n, 0)
176  +s3 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), p3, 18n, {==}, 0)
177  +p5 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), p4, 19n, 0)
178  +s4 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), p4, 19n, {==}, 0)
179  +p6 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), p5, 20n, 0)
180  +s5 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), p5, 20n, {==}, 0)
181  +p7 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), p6, 21n, 0)
182  +s6 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), p6, 21n, {==}, 0)
183  +p8 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), p7, 22n, 0)
184  +s7 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), p7, 22n, {==}, 0)
185  +p9 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), p8, 23n, 0)
186  +s8 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), p8, 23n, {==}, 0)
187  +p10 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), p9, 24n, 0)
188  +s9 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), p9, 24n, {==}, 0)
189  +p11 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), p10, 25n, 0)
190  +s10 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), p10, 25n, {==}, 0)
191  Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 2n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0)), 2n), W32.nth0(AR.slots(U32, mT), 2n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0), s10, 2n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0)), 2n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0)), 2n), W32.nth0(AR.slots(U32, mT), 2n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), s9, 2n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0)), 2n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0)), 2n), W32.nth0(AR.slots(U32, mT), 2n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), s8, 2n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0)), 2n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0)), 2n), W32.nth0(AR.slots(U32, mT), 2n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), s7, 2n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0)), 2n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0)), 2n), W32.nth0(AR.slots(U32, mT), 2n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), s6, 2n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0)), 2n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0)), 2n), W32.nth0(AR.slots(U32, mT), 2n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), s5, 2n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0)), 2n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0)), 2n), W32.nth0(AR.slots(U32, mT), 2n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), s4, 2n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0)), 2n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0)), 2n), W32.nth0(AR.slots(U32, mT), 2n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), s3, 2n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0)), 2n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0)), 2n), W32.nth0(AR.slots(U32, mT), 2n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), s2, 2n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0)), 2n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, mT, 0n, 0)), 2n), W32.nth0(AR.slots(U32, mT), 2n), MT.nth_other(AR.upd(U32, 5n, mT, 0n, 0), 16n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), s1, 2n, {==}), MT.nth_other(mT, 0n, 0, AR.upd(U32, 5n, mT, 0n, 0), s0, 2n, {==})))))))))))
192
193def zw3(+mT: AR.Tree<U32>, +pm: {AR.perfect(U32, 5n, mT) == True{} : Bool}) -> {W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 3n) == W32.nth0(AR.slots(U32, mT), 3n) : U32}:
194  +p1 = UT.uset_p(5n, mT, pm, 0n, 0)
195  +s0 = UT.uset_s(5n, mT, pm, 0n, {==}, 0)
196  +p2 = UT.uset_p(5n, AR.upd(U32, 5n, mT, 0n, 0), p1, 16n, 0)
197  +s1 = UT.uset_s(5n, AR.upd(U32, 5n, mT, 0n, 0), p1, 16n, {==}, 0)
198  +p3 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), p2, 17n, 0)
199  +s2 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), p2, 17n, {==}, 0)
200  +p4 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), p3, 18n, 0)
201  +s3 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), p3, 18n, {==}, 0)
202  +p5 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), p4, 19n, 0)
203  +s4 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), p4, 19n, {==}, 0)
204  +p6 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), p5, 20n, 0)
205  +s5 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), p5, 20n, {==}, 0)
206  +p7 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), p6, 21n, 0)
207  +s6 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), p6, 21n, {==}, 0)
208  +p8 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), p7, 22n, 0)
209  +s7 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), p7, 22n, {==}, 0)
210  +p9 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), p8, 23n, 0)
211  +s8 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), p8, 23n, {==}, 0)
212  +p10 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), p9, 24n, 0)
213  +s9 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), p9, 24n, {==}, 0)
214  +p11 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), p10, 25n, 0)
215  +s10 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), p10, 25n, {==}, 0)
216  Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 3n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0)), 3n), W32.nth0(AR.slots(U32, mT), 3n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0), s10, 3n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0)), 3n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0)), 3n), W32.nth0(AR.slots(U32, mT), 3n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), s9, 3n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0)), 3n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0)), 3n), W32.nth0(AR.slots(U32, mT), 3n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), s8, 3n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0)), 3n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0)), 3n), W32.nth0(AR.slots(U32, mT), 3n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), s7, 3n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0)), 3n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0)), 3n), W32.nth0(AR.slots(U32, mT), 3n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), s6, 3n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0)), 3n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0)), 3n), W32.nth0(AR.slots(U32, mT), 3n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), s5, 3n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0)), 3n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0)), 3n), W32.nth0(AR.slots(U32, mT), 3n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), s4, 3n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0)), 3n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0)), 3n), W32.nth0(AR.slots(U32, mT), 3n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), s3, 3n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0)), 3n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0)), 3n), W32.nth0(AR.slots(U32, mT), 3n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), s2, 3n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0)), 3n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, mT, 0n, 0)), 3n), W32.nth0(AR.slots(U32, mT), 3n), MT.nth_other(AR.upd(U32, 5n, mT, 0n, 0), 16n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), s1, 3n, {==}), MT.nth_other(mT, 0n, 0, AR.upd(U32, 5n, mT, 0n, 0), s0, 3n, {==})))))))))))
217
218def zw4(+mT: AR.Tree<U32>, +pm: {AR.perfect(U32, 5n, mT) == True{} : Bool}) -> {W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 4n) == W32.nth0(AR.slots(U32, mT), 4n) : U32}:
219  +p1 = UT.uset_p(5n, mT, pm, 0n, 0)
220  +s0 = UT.uset_s(5n, mT, pm, 0n, {==}, 0)
221  +p2 = UT.uset_p(5n, AR.upd(U32, 5n, mT, 0n, 0), p1, 16n, 0)
222  +s1 = UT.uset_s(5n, AR.upd(U32, 5n, mT, 0n, 0), p1, 16n, {==}, 0)
223  +p3 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), p2, 17n, 0)
224  +s2 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), p2, 17n, {==}, 0)
225  +p4 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), p3, 18n, 0)
226  +s3 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), p3, 18n, {==}, 0)
227  +p5 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), p4, 19n, 0)
228  +s4 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), p4, 19n, {==}, 0)
229  +p6 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), p5, 20n, 0)
230  +s5 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), p5, 20n, {==}, 0)
231  +p7 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), p6, 21n, 0)
232  +s6 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), p6, 21n, {==}, 0)
233  +p8 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), p7, 22n, 0)
234  +s7 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), p7, 22n, {==}, 0)
235  +p9 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), p8, 23n, 0)
236  +s8 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), p8, 23n, {==}, 0)
237  +p10 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), p9, 24n, 0)
238  +s9 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), p9, 24n, {==}, 0)
239  +p11 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), p10, 25n, 0)
240  +s10 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), p10, 25n, {==}, 0)
241  Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 4n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0)), 4n), W32.nth0(AR.slots(U32, mT), 4n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0), s10, 4n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0)), 4n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0)), 4n), W32.nth0(AR.slots(U32, mT), 4n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), s9, 4n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0)), 4n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0)), 4n), W32.nth0(AR.slots(U32, mT), 4n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), s8, 4n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0)), 4n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0)), 4n), W32.nth0(AR.slots(U32, mT), 4n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), s7, 4n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0)), 4n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0)), 4n), W32.nth0(AR.slots(U32, mT), 4n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), s6, 4n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0)), 4n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0)), 4n), W32.nth0(AR.slots(U32, mT), 4n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), s5, 4n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0)), 4n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0)), 4n), W32.nth0(AR.slots(U32, mT), 4n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), s4, 4n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0)), 4n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0)), 4n), W32.nth0(AR.slots(U32, mT), 4n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), s3, 4n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0)), 4n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0)), 4n), W32.nth0(AR.slots(U32, mT), 4n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), s2, 4n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0)), 4n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, mT, 0n, 0)), 4n), W32.nth0(AR.slots(U32, mT), 4n), MT.nth_other(AR.upd(U32, 5n, mT, 0n, 0), 16n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), s1, 4n, {==}), MT.nth_other(mT, 0n, 0, AR.upd(U32, 5n, mT, 0n, 0), s0, 4n, {==})))))))))))
242
243def zw5(+mT: AR.Tree<U32>, +pm: {AR.perfect(U32, 5n, mT) == True{} : Bool}) -> {W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 5n) == W32.nth0(AR.slots(U32, mT), 5n) : U32}:
244  +p1 = UT.uset_p(5n, mT, pm, 0n, 0)
245  +s0 = UT.uset_s(5n, mT, pm, 0n, {==}, 0)
246  +p2 = UT.uset_p(5n, AR.upd(U32, 5n, mT, 0n, 0), p1, 16n, 0)
247  +s1 = UT.uset_s(5n, AR.upd(U32, 5n, mT, 0n, 0), p1, 16n, {==}, 0)
248  +p3 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), p2, 17n, 0)
249  +s2 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), p2, 17n, {==}, 0)
250  +p4 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), p3, 18n, 0)
251  +s3 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), p3, 18n, {==}, 0)
252  +p5 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), p4, 19n, 0)
253  +s4 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), p4, 19n, {==}, 0)
254  +p6 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), p5, 20n, 0)
255  +s5 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), p5, 20n, {==}, 0)
256  +p7 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), p6, 21n, 0)
257  +s6 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), p6, 21n, {==}, 0)
258  +p8 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), p7, 22n, 0)
259  +s7 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), p7, 22n, {==}, 0)
260  +p9 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), p8, 23n, 0)
261  +s8 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), p8, 23n, {==}, 0)
262  +p10 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), p9, 24n, 0)
263  +s9 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), p9, 24n, {==}, 0)
264  +p11 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), p10, 25n, 0)
265  +s10 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), p10, 25n, {==}, 0)
266  Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 5n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0)), 5n), W32.nth0(AR.slots(U32, mT), 5n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0), s10, 5n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0)), 5n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0)), 5n), W32.nth0(AR.slots(U32, mT), 5n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), s9, 5n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0)), 5n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0)), 5n), W32.nth0(AR.slots(U32, mT), 5n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), s8, 5n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0)), 5n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0)), 5n), W32.nth0(AR.slots(U32, mT), 5n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), s7, 5n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0)), 5n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0)), 5n), W32.nth0(AR.slots(U32, mT), 5n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), s6, 5n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0)), 5n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0)), 5n), W32.nth0(AR.slots(U32, mT), 5n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), s5, 5n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0)), 5n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0)), 5n), W32.nth0(AR.slots(U32, mT), 5n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), s4, 5n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0)), 5n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0)), 5n), W32.nth0(AR.slots(U32, mT), 5n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), s3, 5n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0)), 5n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0)), 5n), W32.nth0(AR.slots(U32, mT), 5n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), s2, 5n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0)), 5n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, mT, 0n, 0)), 5n), W32.nth0(AR.slots(U32, mT), 5n), MT.nth_other(AR.upd(U32, 5n, mT, 0n, 0), 16n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), s1, 5n, {==}), MT.nth_other(mT, 0n, 0, AR.upd(U32, 5n, mT, 0n, 0), s0, 5n, {==})))))))))))
267
268def zw6(+mT: AR.Tree<U32>, +pm: {AR.perfect(U32, 5n, mT) == True{} : Bool}) -> {W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 6n) == W32.nth0(AR.slots(U32, mT), 6n) : U32}:
269  +p1 = UT.uset_p(5n, mT, pm, 0n, 0)
270  +s0 = UT.uset_s(5n, mT, pm, 0n, {==}, 0)
271  +p2 = UT.uset_p(5n, AR.upd(U32, 5n, mT, 0n, 0), p1, 16n, 0)
272  +s1 = UT.uset_s(5n, AR.upd(U32, 5n, mT, 0n, 0), p1, 16n, {==}, 0)
273  +p3 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), p2, 17n, 0)
274  +s2 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), p2, 17n, {==}, 0)
275  +p4 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), p3, 18n, 0)
276  +s3 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), p3, 18n, {==}, 0)
277  +p5 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), p4, 19n, 0)
278  +s4 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), p4, 19n, {==}, 0)
279  +p6 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), p5, 20n, 0)
280  +s5 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), p5, 20n, {==}, 0)
281  +p7 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), p6, 21n, 0)
282  +s6 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), p6, 21n, {==}, 0)
283  +p8 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), p7, 22n, 0)
284  +s7 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), p7, 22n, {==}, 0)
285  +p9 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), p8, 23n, 0)
286  +s8 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), p8, 23n, {==}, 0)
287  +p10 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), p9, 24n, 0)
288  +s9 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), p9, 24n, {==}, 0)
289  +p11 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), p10, 25n, 0)
290  +s10 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), p10, 25n, {==}, 0)
291  Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 6n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0)), 6n), W32.nth0(AR.slots(U32, mT), 6n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0), s10, 6n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0)), 6n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0)), 6n), W32.nth0(AR.slots(U32, mT), 6n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), s9, 6n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0)), 6n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0)), 6n), W32.nth0(AR.slots(U32, mT), 6n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), s8, 6n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0)), 6n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0)), 6n), W32.nth0(AR.slots(U32, mT), 6n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), s7, 6n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0)), 6n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0)), 6n), W32.nth0(AR.slots(U32, mT), 6n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), s6, 6n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0)), 6n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0)), 6n), W32.nth0(AR.slots(U32, mT), 6n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), s5, 6n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0)), 6n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0)), 6n), W32.nth0(AR.slots(U32, mT), 6n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), s4, 6n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0)), 6n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0)), 6n), W32.nth0(AR.slots(U32, mT), 6n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), s3, 6n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0)), 6n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0)), 6n), W32.nth0(AR.slots(U32, mT), 6n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), s2, 6n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0)), 6n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, mT, 0n, 0)), 6n), W32.nth0(AR.slots(U32, mT), 6n), MT.nth_other(AR.upd(U32, 5n, mT, 0n, 0), 16n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), s1, 6n, {==}), MT.nth_other(mT, 0n, 0, AR.upd(U32, 5n, mT, 0n, 0), s0, 6n, {==})))))))))))
292
293def zw7(+mT: AR.Tree<U32>, +pm: {AR.perfect(U32, 5n, mT) == True{} : Bool}) -> {W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 7n) == W32.nth0(AR.slots(U32, mT), 7n) : U32}:
294  +p1 = UT.uset_p(5n, mT, pm, 0n, 0)
295  +s0 = UT.uset_s(5n, mT, pm, 0n, {==}, 0)
296  +p2 = UT.uset_p(5n, AR.upd(U32, 5n, mT, 0n, 0), p1, 16n, 0)
297  +s1 = UT.uset_s(5n, AR.upd(U32, 5n, mT, 0n, 0), p1, 16n, {==}, 0)
298  +p3 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), p2, 17n, 0)
299  +s2 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), p2, 17n, {==}, 0)
300  +p4 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), p3, 18n, 0)
301  +s3 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), p3, 18n, {==}, 0)
302  +p5 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), p4, 19n, 0)
303  +s4 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), p4, 19n, {==}, 0)
304  +p6 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), p5, 20n, 0)
305  +s5 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), p5, 20n, {==}, 0)
306  +p7 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), p6, 21n, 0)
307  +s6 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), p6, 21n, {==}, 0)
308  +p8 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), p7, 22n, 0)
309  +s7 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), p7, 22n, {==}, 0)
310  +p9 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), p8, 23n, 0)
311  +s8 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), p8, 23n, {==}, 0)
312  +p10 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), p9, 24n, 0)
313  +s9 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), p9, 24n, {==}, 0)
314  +p11 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), p10, 25n, 0)
315  +s10 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), p10, 25n, {==}, 0)
316  Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 7n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0)), 7n), W32.nth0(AR.slots(U32, mT), 7n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0), s10, 7n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0)), 7n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0)), 7n), W32.nth0(AR.slots(U32, mT), 7n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), s9, 7n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0)), 7n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0)), 7n), W32.nth0(AR.slots(U32, mT), 7n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), s8, 7n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0)), 7n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0)), 7n), W32.nth0(AR.slots(U32, mT), 7n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), s7, 7n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0)), 7n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0)), 7n), W32.nth0(AR.slots(U32, mT), 7n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), s6, 7n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0)), 7n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0)), 7n), W32.nth0(AR.slots(U32, mT), 7n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), s5, 7n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0)), 7n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0)), 7n), W32.nth0(AR.slots(U32, mT), 7n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), s4, 7n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0)), 7n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0)), 7n), W32.nth0(AR.slots(U32, mT), 7n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), s3, 7n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0)), 7n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0)), 7n), W32.nth0(AR.slots(U32, mT), 7n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), s2, 7n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0)), 7n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, mT, 0n, 0)), 7n), W32.nth0(AR.slots(U32, mT), 7n), MT.nth_other(AR.upd(U32, 5n, mT, 0n, 0), 16n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), s1, 7n, {==}), MT.nth_other(mT, 0n, 0, AR.upd(U32, 5n, mT, 0n, 0), s0, 7n, {==})))))))))))
317
318def zw16(+mT: AR.Tree<U32>, +pm: {AR.perfect(U32, 5n, mT) == True{} : Bool}) -> {W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 16n) == 0 : U32}:
319  +p1 = UT.uset_p(5n, mT, pm, 0n, 0)
320  +s0 = UT.uset_s(5n, mT, pm, 0n, {==}, 0)
321  +p2 = UT.uset_p(5n, AR.upd(U32, 5n, mT, 0n, 0), p1, 16n, 0)
322  +s1 = UT.uset_s(5n, AR.upd(U32, 5n, mT, 0n, 0), p1, 16n, {==}, 0)
323  +p3 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), p2, 17n, 0)
324  +s2 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), p2, 17n, {==}, 0)
325  +p4 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), p3, 18n, 0)
326  +s3 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), p3, 18n, {==}, 0)
327  +p5 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), p4, 19n, 0)
328  +s4 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), p4, 19n, {==}, 0)
329  +p6 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), p5, 20n, 0)
330  +s5 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), p5, 20n, {==}, 0)
331  +p7 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), p6, 21n, 0)
332  +s6 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), p6, 21n, {==}, 0)
333  +p8 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), p7, 22n, 0)
334  +s7 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), p7, 22n, {==}, 0)
335  +p9 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), p8, 23n, 0)
336  +s8 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), p8, 23n, {==}, 0)
337  +p10 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), p9, 24n, 0)
338  +s9 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), p9, 24n, {==}, 0)
339  +p11 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), p10, 25n, 0)
340  +s10 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), p10, 25n, {==}, 0)
341  Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 16n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0)), 16n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0), s10, 16n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0)), 16n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0)), 16n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), s9, 16n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0)), 16n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0)), 16n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), s8, 16n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0)), 16n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0)), 16n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), s7, 16n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0)), 16n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0)), 16n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), s6, 16n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0)), 16n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0)), 16n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), s5, 16n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0)), 16n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0)), 16n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), s4, 16n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0)), 16n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0)), 16n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), s3, 16n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0)), 16n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0)), 16n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), s2, 16n, {==}), MT.nth_same(5n, AR.upd(U32, 5n, mT, 0n, 0), p1, 16n, {==}, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), s1))))))))))
342
343def zw17(+mT: AR.Tree<U32>, +pm: {AR.perfect(U32, 5n, mT) == True{} : Bool}) -> {W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 17n) == 0 : U32}:
344  +p1 = UT.uset_p(5n, mT, pm, 0n, 0)
345  +s0 = UT.uset_s(5n, mT, pm, 0n, {==}, 0)
346  +p2 = UT.uset_p(5n, AR.upd(U32, 5n, mT, 0n, 0), p1, 16n, 0)
347  +s1 = UT.uset_s(5n, AR.upd(U32, 5n, mT, 0n, 0), p1, 16n, {==}, 0)
348  +p3 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), p2, 17n, 0)
349  +s2 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), p2, 17n, {==}, 0)
350  +p4 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), p3, 18n, 0)
351  +s3 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), p3, 18n, {==}, 0)
352  +p5 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), p4, 19n, 0)
353  +s4 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), p4, 19n, {==}, 0)
354  +p6 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), p5, 20n, 0)
355  +s5 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), p5, 20n, {==}, 0)
356  +p7 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), p6, 21n, 0)
357  +s6 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), p6, 21n, {==}, 0)
358  +p8 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), p7, 22n, 0)
359  +s7 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), p7, 22n, {==}, 0)
360  +p9 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), p8, 23n, 0)
361  +s8 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), p8, 23n, {==}, 0)
362  +p10 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), p9, 24n, 0)
363  +s9 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), p9, 24n, {==}, 0)
364  +p11 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), p10, 25n, 0)
365  +s10 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), p10, 25n, {==}, 0)
366  Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 17n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0)), 17n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0), s10, 17n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0)), 17n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0)), 17n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), s9, 17n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0)), 17n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0)), 17n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), s8, 17n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0)), 17n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0)), 17n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), s7, 17n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0)), 17n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0)), 17n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), s6, 17n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0)), 17n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0)), 17n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), s5, 17n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0)), 17n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0)), 17n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), s4, 17n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0)), 17n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0)), 17n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), s3, 17n, {==}), MT.nth_same(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), p2, 17n, {==}, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), s2)))))))))
367
368def zw18(+mT: AR.Tree<U32>, +pm: {AR.perfect(U32, 5n, mT) == True{} : Bool}) -> {W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 18n) == 0 : U32}:
369  +p1 = UT.uset_p(5n, mT, pm, 0n, 0)
370  +s0 = UT.uset_s(5n, mT, pm, 0n, {==}, 0)
371  +p2 = UT.uset_p(5n, AR.upd(U32, 5n, mT, 0n, 0), p1, 16n, 0)
372  +s1 = UT.uset_s(5n, AR.upd(U32, 5n, mT, 0n, 0), p1, 16n, {==}, 0)
373  +p3 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), p2, 17n, 0)
374  +s2 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), p2, 17n, {==}, 0)
375  +p4 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), p3, 18n, 0)
376  +s3 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), p3, 18n, {==}, 0)
377  +p5 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), p4, 19n, 0)
378  +s4 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), p4, 19n, {==}, 0)
379  +p6 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), p5, 20n, 0)
380  +s5 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), p5, 20n, {==}, 0)
381  +p7 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), p6, 21n, 0)
382  +s6 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), p6, 21n, {==}, 0)
383  +p8 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), p7, 22n, 0)
384  +s7 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), p7, 22n, {==}, 0)
385  +p9 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), p8, 23n, 0)
386  +s8 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), p8, 23n, {==}, 0)
387  +p10 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), p9, 24n, 0)
388  +s9 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), p9, 24n, {==}, 0)
389  +p11 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), p10, 25n, 0)
390  +s10 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), p10, 25n, {==}, 0)
391  Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 18n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0)), 18n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0), s10, 18n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0)), 18n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0)), 18n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), s9, 18n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0)), 18n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0)), 18n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), s8, 18n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0)), 18n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0)), 18n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), s7, 18n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0)), 18n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0)), 18n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), s6, 18n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0)), 18n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0)), 18n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), s5, 18n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0)), 18n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0)), 18n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), s4, 18n, {==}), MT.nth_same(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), p3, 18n, {==}, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), s3))))))))
392
393def zw19(+mT: AR.Tree<U32>, +pm: {AR.perfect(U32, 5n, mT) == True{} : Bool}) -> {W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 19n) == 0 : U32}:
394  +p1 = UT.uset_p(5n, mT, pm, 0n, 0)
395  +s0 = UT.uset_s(5n, mT, pm, 0n, {==}, 0)
396  +p2 = UT.uset_p(5n, AR.upd(U32, 5n, mT, 0n, 0), p1, 16n, 0)
397  +s1 = UT.uset_s(5n, AR.upd(U32, 5n, mT, 0n, 0), p1, 16n, {==}, 0)
398  +p3 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), p2, 17n, 0)
399  +s2 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), p2, 17n, {==}, 0)
400  +p4 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), p3, 18n, 0)
401  +s3 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), p3, 18n, {==}, 0)
402  +p5 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), p4, 19n, 0)
403  +s4 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), p4, 19n, {==}, 0)
404  +p6 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), p5, 20n, 0)
405  +s5 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), p5, 20n, {==}, 0)
406  +p7 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), p6, 21n, 0)
407  +s6 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), p6, 21n, {==}, 0)
408  +p8 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), p7, 22n, 0)
409  +s7 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), p7, 22n, {==}, 0)
410  +p9 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), p8, 23n, 0)
411  +s8 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), p8, 23n, {==}, 0)
412  +p10 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), p9, 24n, 0)
413  +s9 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), p9, 24n, {==}, 0)
414  +p11 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), p10, 25n, 0)
415  +s10 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), p10, 25n, {==}, 0)
416  Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 19n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0)), 19n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0), s10, 19n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0)), 19n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0)), 19n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), s9, 19n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0)), 19n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0)), 19n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), s8, 19n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0)), 19n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0)), 19n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), s7, 19n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0)), 19n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0)), 19n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), s6, 19n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0)), 19n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0)), 19n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), s5, 19n, {==}), MT.nth_same(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), p4, 19n, {==}, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), s4)))))))
417
418def zw20(+mT: AR.Tree<U32>, +pm: {AR.perfect(U32, 5n, mT) == True{} : Bool}) -> {W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 20n) == 0 : U32}:
419  +p1 = UT.uset_p(5n, mT, pm, 0n, 0)
420  +s0 = UT.uset_s(5n, mT, pm, 0n, {==}, 0)
421  +p2 = UT.uset_p(5n, AR.upd(U32, 5n, mT, 0n, 0), p1, 16n, 0)
422  +s1 = UT.uset_s(5n, AR.upd(U32, 5n, mT, 0n, 0), p1, 16n, {==}, 0)
423  +p3 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), p2, 17n, 0)
424  +s2 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), p2, 17n, {==}, 0)
425  +p4 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), p3, 18n, 0)
426  +s3 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), p3, 18n, {==}, 0)
427  +p5 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), p4, 19n, 0)
428  +s4 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), p4, 19n, {==}, 0)
429  +p6 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), p5, 20n, 0)
430  +s5 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), p5, 20n, {==}, 0)
431  +p7 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), p6, 21n, 0)
432  +s6 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), p6, 21n, {==}, 0)
433  +p8 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), p7, 22n, 0)
434  +s7 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), p7, 22n, {==}, 0)
435  +p9 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), p8, 23n, 0)
436  +s8 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), p8, 23n, {==}, 0)
437  +p10 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), p9, 24n, 0)
438  +s9 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), p9, 24n, {==}, 0)
439  +p11 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), p10, 25n, 0)
440  +s10 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), p10, 25n, {==}, 0)
441  Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 20n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0)), 20n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0), s10, 20n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0)), 20n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0)), 20n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), s9, 20n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0)), 20n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0)), 20n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), s8, 20n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0)), 20n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0)), 20n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), s7, 20n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0)), 20n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0)), 20n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), s6, 20n, {==}), MT.nth_same(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), p5, 20n, {==}, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), s5))))))
442
443def zw21(+mT: AR.Tree<U32>, +pm: {AR.perfect(U32, 5n, mT) == True{} : Bool}) -> {W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 21n) == 0 : U32}:
444  +p1 = UT.uset_p(5n, mT, pm, 0n, 0)
445  +s0 = UT.uset_s(5n, mT, pm, 0n, {==}, 0)
446  +p2 = UT.uset_p(5n, AR.upd(U32, 5n, mT, 0n, 0), p1, 16n, 0)
447  +s1 = UT.uset_s(5n, AR.upd(U32, 5n, mT, 0n, 0), p1, 16n, {==}, 0)
448  +p3 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), p2, 17n, 0)
449  +s2 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), p2, 17n, {==}, 0)
450  +p4 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), p3, 18n, 0)
451  +s3 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), p3, 18n, {==}, 0)
452  +p5 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), p4, 19n, 0)
453  +s4 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), p4, 19n, {==}, 0)
454  +p6 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), p5, 20n, 0)
455  +s5 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), p5, 20n, {==}, 0)
456  +p7 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), p6, 21n, 0)
457  +s6 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), p6, 21n, {==}, 0)
458  +p8 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), p7, 22n, 0)
459  +s7 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), p7, 22n, {==}, 0)
460  +p9 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), p8, 23n, 0)
461  +s8 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), p8, 23n, {==}, 0)
462  +p10 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), p9, 24n, 0)
463  +s9 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), p9, 24n, {==}, 0)
464  +p11 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), p10, 25n, 0)
465  +s10 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), p10, 25n, {==}, 0)
466  Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 21n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0)), 21n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0), s10, 21n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0)), 21n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0)), 21n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), s9, 21n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0)), 21n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0)), 21n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), s8, 21n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0)), 21n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0)), 21n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), s7, 21n, {==}), MT.nth_same(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), p6, 21n, {==}, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), s6)))))
467
468def zw22(+mT: AR.Tree<U32>, +pm: {AR.perfect(U32, 5n, mT) == True{} : Bool}) -> {W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 22n) == 0 : U32}:
469  +p1 = UT.uset_p(5n, mT, pm, 0n, 0)
470  +s0 = UT.uset_s(5n, mT, pm, 0n, {==}, 0)
471  +p2 = UT.uset_p(5n, AR.upd(U32, 5n, mT, 0n, 0), p1, 16n, 0)
472  +s1 = UT.uset_s(5n, AR.upd(U32, 5n, mT, 0n, 0), p1, 16n, {==}, 0)
473  +p3 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), p2, 17n, 0)
474  +s2 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), p2, 17n, {==}, 0)
475  +p4 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), p3, 18n, 0)
476  +s3 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), p3, 18n, {==}, 0)
477  +p5 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), p4, 19n, 0)
478  +s4 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), p4, 19n, {==}, 0)
479  +p6 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), p5, 20n, 0)
480  +s5 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), p5, 20n, {==}, 0)
481  +p7 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), p6, 21n, 0)
482  +s6 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), p6, 21n, {==}, 0)
483  +p8 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), p7, 22n, 0)
484  +s7 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), p7, 22n, {==}, 0)
485  +p9 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), p8, 23n, 0)
486  +s8 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), p8, 23n, {==}, 0)
487  +p10 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), p9, 24n, 0)
488  +s9 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), p9, 24n, {==}, 0)
489  +p11 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), p10, 25n, 0)
490  +s10 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), p10, 25n, {==}, 0)
491  Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 22n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0)), 22n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0), s10, 22n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0)), 22n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0)), 22n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), s9, 22n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0)), 22n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0)), 22n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), s8, 22n, {==}), MT.nth_same(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), p7, 22n, {==}, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), s7))))
492
493def zw23(+mT: AR.Tree<U32>, +pm: {AR.perfect(U32, 5n, mT) == True{} : Bool}) -> {W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 23n) == 0 : U32}:
494  +p1 = UT.uset_p(5n, mT, pm, 0n, 0)
495  +s0 = UT.uset_s(5n, mT, pm, 0n, {==}, 0)
496  +p2 = UT.uset_p(5n, AR.upd(U32, 5n, mT, 0n, 0), p1, 16n, 0)
497  +s1 = UT.uset_s(5n, AR.upd(U32, 5n, mT, 0n, 0), p1, 16n, {==}, 0)
498  +p3 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), p2, 17n, 0)
499  +s2 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), p2, 17n, {==}, 0)
500  +p4 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), p3, 18n, 0)
501  +s3 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), p3, 18n, {==}, 0)
502  +p5 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), p4, 19n, 0)
503  +s4 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), p4, 19n, {==}, 0)
504  +p6 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), p5, 20n, 0)
505  +s5 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), p5, 20n, {==}, 0)
506  +p7 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), p6, 21n, 0)
507  +s6 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), p6, 21n, {==}, 0)
508  +p8 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), p7, 22n, 0)
509  +s7 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), p7, 22n, {==}, 0)
510  +p9 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), p8, 23n, 0)
511  +s8 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), p8, 23n, {==}, 0)
512  +p10 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), p9, 24n, 0)
513  +s9 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), p9, 24n, {==}, 0)
514  +p11 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), p10, 25n, 0)
515  +s10 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), p10, 25n, {==}, 0)
516  Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 23n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0)), 23n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0), s10, 23n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0)), 23n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0)), 23n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), s9, 23n, {==}), MT.nth_same(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), p8, 23n, {==}, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), s8)))
517
518def zw24(+mT: AR.Tree<U32>, +pm: {AR.perfect(U32, 5n, mT) == True{} : Bool}) -> {W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 24n) == 0 : U32}:
519  +p1 = UT.uset_p(5n, mT, pm, 0n, 0)
520  +s0 = UT.uset_s(5n, mT, pm, 0n, {==}, 0)
521  +p2 = UT.uset_p(5n, AR.upd(U32, 5n, mT, 0n, 0), p1, 16n, 0)
522  +s1 = UT.uset_s(5n, AR.upd(U32, 5n, mT, 0n, 0), p1, 16n, {==}, 0)
523  +p3 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), p2, 17n, 0)
524  +s2 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), p2, 17n, {==}, 0)
525  +p4 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), p3, 18n, 0)
526  +s3 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), p3, 18n, {==}, 0)
527  +p5 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), p4, 19n, 0)
528  +s4 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), p4, 19n, {==}, 0)
529  +p6 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), p5, 20n, 0)
530  +s5 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), p5, 20n, {==}, 0)
531  +p7 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), p6, 21n, 0)
532  +s6 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), p6, 21n, {==}, 0)
533  +p8 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), p7, 22n, 0)
534  +s7 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), p7, 22n, {==}, 0)
535  +p9 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), p8, 23n, 0)
536  +s8 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), p8, 23n, {==}, 0)
537  +p10 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), p9, 24n, 0)
538  +s9 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), p9, 24n, {==}, 0)
539  +p11 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), p10, 25n, 0)
540  +s10 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), p10, 25n, {==}, 0)
541  Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 24n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0)), 24n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0), s10, 24n, {==}), MT.nth_same(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), p9, 24n, {==}, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), s9))
542
543def zw25(+mT: AR.Tree<U32>, +pm: {AR.perfect(U32, 5n, mT) == True{} : Bool}) -> {W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 25n) == 0 : U32}:
544  +p1 = UT.uset_p(5n, mT, pm, 0n, 0)
545  +s0 = UT.uset_s(5n, mT, pm, 0n, {==}, 0)
546  +p2 = UT.uset_p(5n, AR.upd(U32, 5n, mT, 0n, 0), p1, 16n, 0)
547  +s1 = UT.uset_s(5n, AR.upd(U32, 5n, mT, 0n, 0), p1, 16n, {==}, 0)
548  +p3 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), p2, 17n, 0)
549  +s2 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), p2, 17n, {==}, 0)
550  +p4 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), p3, 18n, 0)
551  +s3 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), p3, 18n, {==}, 0)
552  +p5 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), p4, 19n, 0)
553  +s4 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), p4, 19n, {==}, 0)
554  +p6 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), p5, 20n, 0)
555  +s5 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), p5, 20n, {==}, 0)
556  +p7 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), p6, 21n, 0)
557  +s6 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), p6, 21n, {==}, 0)
558  +p8 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), p7, 22n, 0)
559  +s7 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), p7, 22n, {==}, 0)
560  +p9 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), p8, 23n, 0)
561  +s8 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), p8, 23n, {==}, 0)
562  +p10 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), p9, 24n, 0)
563  +s9 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), p9, 24n, {==}, 0)
564  +p11 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), p10, 25n, 0)
565  +s10 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), p10, 25n, {==}, 0)
566  MT.nth_same(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), p10, 25n, {==}, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0), s10)
567
568
569def good_z(~V: Data, +cap: U32, +n: U32, +head: U32, +tail: U32, +free: U32, +mT: AR.Tree<U32>, +k: Nat, +sd: Nat, +tabT: AR.Tree<U32>, +ksT: AR.Tree<String>, +eT: AR.Tree<Maybe<&2, V>>, +lkT: AR.Tree<U32>, +sl: List<&2, Nat>, +fl: List<&2, Nat>, +hg: {ST.good(~V, ST.LS{cap, n, head, tail, free, mT, k, sd, tabT, ksT, eT, lkT, sl, fl}) == True{} : Bool}) -> {ST.good(~V, ST.LS{cap, 0, 0, 0, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0), k, sd, AR.trep(U32, 1n+k, 0), ksT, eT, lkT, Nil{}, Nil{}}) == True{} : Bool}:
570  +pm = ST.g_cpm(~V, cap, n, head, tail, free, W32.nth0(AR.slots(U32, mT), 0n), W32.nth0(AR.slots(U32, mT), 1n), W32.nth0(AR.slots(U32, mT), 2n), W32.nth0(AR.slots(U32, mT), 6n), W32.nth0(AR.slots(U32, mT), 7n), AR.perfect(U32, 5n, mT), k, sd, tabT, AR.slots(String, ksT), AR.perfect(String, sd, ksT), eT, lkT, sl, fl, hg)
571  +z0 = zw0(mT, pm)
572  +hmask = L.subst(U32, z => {U32.is_eq(z, CY.msk(k)) == True{} : Bool}, W32.nth0(AR.slots(U32, mT), 6n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 6n), Equal.sym(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 6n), W32.nth0(AR.slots(U32, mT), 6n), zw6(mT, pm)), ST.g_cmask(~V, cap, n, head, tail, free, W32.nth0(AR.slots(U32, mT), 0n), W32.nth0(AR.slots(U32, mT), 1n), W32.nth0(AR.slots(U32, mT), 2n), W32.nth0(AR.slots(U32, mT), 6n), W32.nth0(AR.slots(U32, mT), 7n), AR.perfect(U32, 5n, mT), k, sd, tabT, AR.slots(String, ksT), AR.perfect(String, sd, ksT), eT, lkT, sl, fl, hg))
573  +hbits = L.subst(U32, z => {Nat.is_eq(UD.v(z), k) == True{} : Bool}, W32.nth0(AR.slots(U32, mT), 7n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 7n), Equal.sym(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 7n), W32.nth0(AR.slots(U32, mT), 7n), zw7(mT, pm)), ST.g_cbits(~V, cap, n, head, tail, free, W32.nth0(AR.slots(U32, mT), 0n), W32.nth0(AR.slots(U32, mT), 1n), W32.nth0(AR.slots(U32, mT), 2n), W32.nth0(AR.slots(U32, mT), 6n), W32.nth0(AR.slots(U32, mT), 7n), AR.perfect(U32, 5n, mT), k, sd, tabT, AR.slots(String, ksT), AR.perfect(String, sd, ksT), eT, lkT, sl, fl, hg))
574  +hsize = L.subst(U32, z => {Nat.is_eq(UD.v(z), SC.pow2(sd)) == True{} : Bool}, W32.nth0(AR.slots(U32, mT), 1n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 1n), Equal.sym(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 1n), W32.nth0(AR.slots(U32, mT), 1n), zw1(mT, pm)), ST.g_csize(~V, cap, n, head, tail, free, W32.nth0(AR.slots(U32, mT), 0n), W32.nth0(AR.slots(U32, mT), 1n), W32.nth0(AR.slots(U32, mT), 2n), W32.nth0(AR.slots(U32, mT), 6n), W32.nth0(AR.slots(U32, mT), 7n), AR.perfect(U32, 5n, mT), k, sd, tabT, AR.slots(String, ksT), AR.perfect(String, sd, ksT), eT, lkT, sl, fl, hg))
575  +hdepth = L.subst(U32, z => {Nat.is_eq(UD.v(z), sd) == True{} : Bool}, W32.nth0(AR.slots(U32, mT), 2n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 2n), Equal.sym(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 2n), W32.nth0(AR.slots(U32, mT), 2n), zw2(mT, pm)), ST.g_cdepth(~V, cap, n, head, tail, free, W32.nth0(AR.slots(U32, mT), 0n), W32.nth0(AR.slots(U32, mT), 1n), W32.nth0(AR.slots(U32, mT), 2n), W32.nth0(AR.slots(U32, mT), 6n), W32.nth0(AR.slots(U32, mT), 7n), AR.perfect(U32, 5n, mT), k, sd, tabT, AR.slots(String, ksT), AR.perfect(String, sd, ksT), eT, lkT, sl, fl, hg))
576  +hfresh = L.subst(U32, z => {Nat.is_le(UD.v(z), SC.pow2(sd)) == True{} : Bool}, 0, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 0n), Equal.sym(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 0n), 0, z0), N.zero_le(SC.pow2(sd)))
577  +hn = L.subst(Nat, z => {Nat.is_eq(0n, z) == True{} : Bool}, 0n, IV.occn(TB.buckets(AR.slots(U32, AR.trep(U32, 1n+k, 0)), AR.slots(String, ksT), SC.pow2(k)), SC.pow2(k)), Equal.sym(Nat, IV.occn(TB.buckets(AR.slots(U32, AR.trep(U32, 1n+k, 0)), AR.slots(String, ksT), SC.pow2(k)), SC.pow2(k)), 0n, GR.z_occn(1n+k, AR.slots(String, ksT), SC.pow2(k), SC.pow2(k), N.le_refl(SC.pow2(k)))), {==})
578  +hcnt = L.subst(U32, z => {Nat.is_eq(0n, UD.v(z)) == True{} : Bool}, 0, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 0n), Equal.sym(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 0n), 0, z0), {==})
579  ST.good_intro(~V, cap, 0, 0, 0, 0, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 0n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 1n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 2n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 6n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 7n), AR.perfect(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), k, sd, AR.trep(U32, 1n+k, 0), AR.slots(String, ksT), AR.perfect(String, sd, ksT), eT, lkT, Nil{}, Nil{}, ST.g_ck(~V, cap, n, head, tail, free, W32.nth0(AR.slots(U32, mT), 0n), W32.nth0(AR.slots(U32, mT), 1n), W32.nth0(AR.slots(U32, mT), 2n), W32.nth0(AR.slots(U32, mT), 6n), W32.nth0(AR.slots(U32, mT), 7n), AR.perfect(U32, 5n, mT), k, sd, tabT, AR.slots(String, ksT), AR.perfect(String, sd, ksT), eT, lkT, sl, fl, hg), ST.g_csdk(~V, cap, n, head, tail, free, W32.nth0(AR.slots(U32, mT), 0n), W32.nth0(AR.slots(U32, mT), 1n), W32.nth0(AR.slots(U32, mT), 2n), W32.nth0(AR.slots(U32, mT), 6n), W32.nth0(AR.slots(U32, mT), 7n), AR.perfect(U32, 5n, mT), k, sd, tabT, AR.slots(String, ksT), AR.perfect(String, sd, ksT), eT, lkT, sl, fl, hg), AR.trep_perfect(U32, 1n+k, 0), ST.g_cpk(~V, cap, n, head, tail, free, W32.nth0(AR.slots(U32, mT), 0n), W32.nth0(AR.slots(U32, mT), 1n), W32.nth0(AR.slots(U32, mT), 2n), W32.nth0(AR.slots(U32, mT), 6n), W32.nth0(AR.slots(U32, mT), 7n), AR.perfect(U32, 5n, mT), k, sd, tabT, AR.slots(String, ksT), AR.perfect(String, sd, ksT), eT, lkT, sl, fl, hg), ST.g_cpe(~V, cap, n, head, tail, free, W32.nth0(AR.slots(U32, mT), 0n), W32.nth0(AR.slots(U32, mT), 1n), W32.nth0(AR.slots(U32, mT), 2n), W32.nth0(AR.slots(U32, mT), 6n), W32.nth0(AR.slots(U32, mT), 7n), AR.perfect(U32, 5n, mT), k, sd, tabT, AR.slots(String, ksT), AR.perfect(String, sd, ksT), eT, lkT, sl, fl, hg), ST.g_cpl(~V, cap, n, head, tail, free, W32.nth0(AR.slots(U32, mT), 0n), W32.nth0(AR.slots(U32, mT), 1n), W32.nth0(AR.slots(U32, mT), 2n), W32.nth0(AR.slots(U32, mT), 6n), W32.nth0(AR.slots(U32, mT), 7n), AR.perfect(U32, 5n, mT), k, sd, tabT, AR.slots(String, ksT), AR.perfect(String, sd, ksT), eT, lkT, sl, fl, hg), zp(mT, pm), hmask, hbits, hsize, hdepth, hfresh, GR.z_well(1n+k, AR.slots(String, ksT), SC.pow2(k), sd, SC.pow2(k), N.le_refl(SC.pow2(k))), GR.z_clus(1n+k, AR.slots(String, ksT), SC.pow2(k), CY.msk(k), SC.pow2(k), N.le_refl(SC.pow2(k))), GR.z_uniq(1n+k, AR.slots(String, ksT), SC.pow2(k), SC.pow2(k), N.le_refl(SC.pow2(k))), hn, N.zero_le(SC.pow2(k)), ST.g_ccap(~V, cap, n, head, tail, free, W32.nth0(AR.slots(U32, mT), 0n), W32.nth0(AR.slots(U32, mT), 1n), W32.nth0(AR.slots(U32, mT), 2n), W32.nth0(AR.slots(U32, mT), 6n), W32.nth0(AR.slots(U32, mT), 7n), AR.perfect(U32, 5n, mT), k, sd, tabT, AR.slots(String, ksT), AR.perfect(String, sd, ksT), eT, lkT, sl, fl, hg), z_bsl(1n+k, AR.slots(String, ksT), SC.pow2(k), Nil{}, AR.slots(U32, lkT), SC.pow2(k), N.le_refl(SC.pow2(k))), {==}, {==}, {==}, {==}, {==}, {==}, {==}, {==}, {==}, {==}, {==}, {==}, hcnt)
580
581def model_z(~V: Data, +cap: U32, +n: U32, +head: U32, +tail: U32, +free: U32, +mT: AR.Tree<U32>, +k: Nat, +sd: Nat, +tabT: AR.Tree<U32>, +ksT: AR.Tree<String>, +eT: AR.Tree<Maybe<&2, V>>, +lkT: AR.Tree<U32>, +sl: List<&2, Nat>, +fl: List<&2, Nat>, +pm: {AR.perfect(U32, 5n, mT) == True{} : Bool}) -> {ST.model(~V, ST.LS{cap, 0, 0, 0, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0), k, sd, AR.trep(U32, 1n+k, 0), ksT, eT, lkT, Nil{}, Nil{}}) == SP.L{cap, W32.nth0(AR.slots(U32, mT), 3n), ST.w64(AR.slots(U32, mT), 4n), Nil{}, SP.zero_ctr()} : SP.Lru<V>}:
582  +e4 = BA.w64_eq(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), AR.slots(U32, mT), 4n, zw4(mT, pm), zw5(mT, pm))
583  +ec = BA.ct5(ST.w64(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 16n), ST.w64(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 18n), ST.w64(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 20n), ST.w64(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 22n), ST.w64(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 24n), W.zero(), W.zero(), W.zero(), W.zero(), W.zero(), BA.w64_eq_l(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 16n, 0, 0, zw16(mT, pm), zw17(mT, pm)), BA.w64_eq_l(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 18n, 0, 0, zw18(mT, pm), zw19(mT, pm)), BA.w64_eq_l(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 20n, 0, 0, zw20(mT, pm), zw21(mT, pm)), BA.w64_eq_l(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 22n, 0, 0, zw22(mT, pm), zw23(mT, pm)), BA.w64_eq_l(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 24n, 0, 0, zw24(mT, pm), zw25(mT, pm)))
584  BA.lru_eq(~V, cap, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 3n), W32.nth0(AR.slots(U32, mT), 3n), ST.w64(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 4n), ST.w64(AR.slots(U32, mT), 4n), Nil{}, Nil{}, ST.ctr(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0))), SP.zero_ctr(), zw3(mT, pm), e4, {==}, ec)
585
586def pow2_gt(+k: Nat) -> {Nat.is_lt(k, SC.pow2(k)) == True{} : Bool}:
587  match k:
588    case 0n:
589      {==}
590    case 1n+p:
591      N.le_lt_trans(1n+p, SC.pow2(p), SC.pow2(1n+p), N.lt_succ_le_succ(p, SC.pow2(p), pow2_gt(p)), N.pow2_lt_succ(p))
592
593# THEOREM (purge): the specification's purge
594def purge_sh(~V: Data, +cap: U32, +n: U32, +head: U32, +tail: U32, +free: U32, +mT: AR.Tree<U32>, +k: Nat, +sd: Nat, +tabT: AR.Tree<U32>, +ksT: AR.Tree<String>, +eT: AR.Tree<Maybe<&2, V>>, +lkT: AR.Tree<U32>, +sl: List<&2, Nat>, +fl: List<&2, Nat>, +hg: {ST.good(~V, ST.LS{cap, n, head, tail, free, mT, k, sd, tabT, ksT, eT, lkT, sl, fl}) == True{} : Bool}, +one: Nat, +h1: {one == 1n : Nat}) -> RM.POK(~V, U32, SP.purge(~V, ST.model(~V, ST.LS{cap, n, head, tail, free, mT, k, sd, tabT, ksT, eT, lkT, sl, fl})), LR.purge(&2, V, ST.real(~V, ST.LS{cap, n, head, tail, free, mT, k, sd, tabT, ksT, eT, lkT, sl, fl}))):
595  +pm = ST.g_cpm(~V, cap, n, head, tail, free, W32.nth0(AR.slots(U32, mT), 0n), W32.nth0(AR.slots(U32, mT), 1n), W32.nth0(AR.slots(U32, mT), 2n), W32.nth0(AR.slots(U32, mT), 6n), W32.nth0(AR.slots(U32, mT), 7n), AR.perfect(U32, 5n, mT), k, sd, tabT, AR.slots(String, ksT), AR.perfect(String, sd, ksT), eT, lkT, sl, fl, hg)
596  +g7 = UT.uget(5n, {==}, mT, pm, 7, {==})
597  +ek = N.eq_from_is_eq(UD.v(W32.nth0(AR.slots(U32, mT), 7n)), k, ST.g_cbits(~V, cap, n, head, tail, free, W32.nth0(AR.slots(U32, mT), 0n), W32.nth0(AR.slots(U32, mT), 1n), W32.nth0(AR.slots(U32, mT), 2n), W32.nth0(AR.slots(U32, mT), 6n), W32.nth0(AR.slots(U32, mT), 7n), AR.perfect(U32, 5n, mT), k, sd, tabT, AR.slots(String, ksT), AR.perfect(String, sd, ksT), eT, lkT, sl, fl, hg))
598  +hk = L.and_left(Nat.is_lt(k, 30n), Nat.is_lt(0n, k), ST.g_ck(~V, cap, n, head, tail, free, W32.nth0(AR.slots(U32, mT), 0n), W32.nth0(AR.slots(U32, mT), 1n), W32.nth0(AR.slots(U32, mT), 2n), W32.nth0(AR.slots(U32, mT), 6n), W32.nth0(AR.slots(U32, mT), 7n), AR.perfect(U32, 5n, mT), k, sd, tabT, AR.slots(String, ksT), AR.perfect(String, sd, ksT), eT, lkT, sl, fl, hg))
599  +hb = L.subst(Nat, z => {Nat.is_lt(1n+z, WD.sc(32n, one)) == True{} : Bool}, k, UD.v(W32.nth0(AR.slots(U32, mT), 7n)), Equal.sym(Nat, UD.v(W32.nth0(AR.slots(U32, mT), 7n)), k, ek), N.le_lt_trans(1n+k, SC.pow2(k), WD.sc(32n, one), N.lt_succ_le_succ(k, SC.pow2(k), pow2_gt(k)), N.lt_le_trans(SC.pow2(k), SC.pow2(1n+k), WD.sc(32n, one), N.pow2_lt_succ(k), W32.pow_le32(one, h1, 1n+k, N.lt_trans(k, 30n, 31n, hk, {==})))))
600  +eb = Equal.trans(Nat, U32.to_nat(U32.inc(W32.nth0(AR.slots(U32, mT), 7n))), 1n+UD.v(W32.nth0(AR.slots(U32, mT), 7n)), 1n+k, W32.inc_val(one, h1, W32.nth0(AR.slots(U32, mT), 7n), hb), Equal.cong(Nat, Nat, z => 1n+z, UD.v(W32.nth0(AR.slots(U32, mT), 7n)), k, ek))
601  +en = Equal.trans(Array<U32>, Array.new(U32, U32.to_nat(U32.inc(W32.nth0(AR.slots(U32, mT), 7n))), 0), Array.new(U32, 1n+k, 0), AR.thaw(U32, AR.trep(U32, 1n+k, 0)), Equal.cong(Nat, Array<U32>, z => Array.new(U32, z, 0), U32.to_nat(U32.inc(W32.nth0(AR.slots(U32, mT), 7n))), 1n+k, eb), AR.new(U32, 1n+k, 0))
602  +E1 = Equal.cong(Array<U32> & U32, LR.LRU<&2, V> & U32, r => LR.purge_b(&2, V, cap, n, AR.thaw(String, ksT), AR.thaw(Maybe<&2, V>, eT), AR.thaw(U32, lkT), r), Array.get(U32, AR.thaw(U32, mT), 7), (AR.thaw(U32, mT), W32.nth0(AR.slots(U32, mT), 7n)), g7)
603  +E2 = Equal.cong(Array<U32>, LR.LRU<&2, V> & U32, z => (LR.F{cap, 0, 0, 0, 0, z, Array.new(U32, U32.to_nat(U32.inc(W32.nth0(AR.slots(U32, mT), 7n))), 0), AR.thaw(String, ksT), AR.thaw(Maybe<&2, V>, eT), AR.thaw(U32, lkT)}, n), LR.zero_ctrs(AR.thaw(U32, mT)), AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), za(mT, pm))
604  +E3 = Equal.cong(Array<U32>, LR.LRU<&2, V> & U32, z => (LR.F{cap, 0, 0, 0, 0, AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), z, AR.thaw(String, ksT), AR.thaw(Maybe<&2, V>, eT), AR.thaw(U32, lkT)}, n), Array.new(U32, U32.to_nat(U32.inc(W32.nth0(AR.slots(U32, mT), 7n))), 0), AR.thaw(U32, AR.trep(U32, 1n+k, 0)), en)
605  +E = Equal.trans(LR.LRU<&2, V> & U32, LR.purge(&2, V, ST.real(~V, ST.LS{cap, n, head, tail, free, mT, k, sd, tabT, ksT, eT, lkT, sl, fl})), (LR.F{cap, 0, 0, 0, 0, LR.zero_ctrs(AR.thaw(U32, mT)), Array.new(U32, U32.to_nat(U32.inc(W32.nth0(AR.slots(U32, mT), 7n))), 0), AR.thaw(String, ksT), AR.thaw(Maybe<&2, V>, eT), AR.thaw(U32, lkT)}, n), (ST.real(~V, ST.LS{cap, 0, 0, 0, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0), k, sd, AR.trep(U32, 1n+k, 0), ksT, eT, lkT, Nil{}, Nil{}}), n), E1, Equal.trans(LR.LRU<&2, V> & U32, (LR.F{cap, 0, 0, 0, 0, LR.zero_ctrs(AR.thaw(U32, mT)), Array.new(U32, U32.to_nat(U32.inc(W32.nth0(AR.slots(U32, mT), 7n))), 0), AR.thaw(String, ksT), AR.thaw(Maybe<&2, V>, eT), AR.thaw(U32, lkT)}, n), (LR.F{cap, 0, 0, 0, 0, AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), Array.new(U32, U32.to_nat(U32.inc(W32.nth0(AR.slots(U32, mT), 7n))), 0), AR.thaw(String, ksT), AR.thaw(Maybe<&2, V>, eT), AR.thaw(U32, lkT)}, n), (ST.real(~V, ST.LS{cap, 0, 0, 0, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0), k, sd, AR.trep(U32, 1n+k, 0), ksT, eT, lkT, Nil{}, Nil{}}), n), E2, E3))
606  +es = Equal.trans(SP.Lru<V> & U32, SP.purge(~V, ST.model(~V, ST.LS{cap, n, head, tail, free, mT, k, sd, tabT, ksT, eT, lkT, sl, fl})), (SP.L{cap, W32.nth0(AR.slots(U32, mT), 3n), ST.w64(AR.slots(U32, mT), 4n), Nil{}, SP.zero_ctr()}, n), (ST.model(~V, ST.LS{cap, 0, 0, 0, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0), k, sd, AR.trep(U32, 1n+k, 0), ksT, eT, lkT, Nil{}, Nil{}}), n), Equal.cong(U32, SP.Lru<V> & U32, z => (SP.L{cap, W32.nth0(AR.slots(U32, mT), 3n), ST.w64(AR.slots(U32, mT), 4n), Nil{}, SP.zero_ctr()}, z), U32.from_nat(SP.length(~V, ST.es(~V, AR.slots(U32, lkT), AR.slots(String, ksT), AR.slots(Maybe<&2, V>, eT), sl))), n, RZ.n_len(~V, cap, n, head, tail, free, mT, k, sd, tabT, ksT, eT, lkT, sl, fl, hg)), Equal.cong(SP.Lru<V>, SP.Lru<V> & U32, z => (z, n), SP.L{cap, W32.nth0(AR.slots(U32, mT), 3n), ST.w64(AR.slots(U32, mT), 4n), Nil{}, SP.zero_ctr()}, ST.model(~V, ST.LS{cap, 0, 0, 0, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0), k, sd, AR.trep(U32, 1n+k, 0), ksT, eT, lkT, Nil{}, Nil{}}), Equal.sym(SP.Lru<V>, ST.model(~V, ST.LS{cap, 0, 0, 0, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0), k, sd, AR.trep(U32, 1n+k, 0), ksT, eT, lkT, Nil{}, Nil{}}), SP.L{cap, W32.nth0(AR.slots(U32, mT), 3n), ST.w64(AR.slots(U32, mT), 4n), Nil{}, SP.zero_ctr()}, model_z(~V, cap, n, head, tail, free, mT, k, sd, tabT, ksT, eT, lkT, sl, fl, pm))))
607  (ST.LS{cap, 0, 0, 0, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0), k, sd, AR.trep(U32, 1n+k, 0), ksT, eT, lkT, Nil{}, Nil{}}, (n, (E, (es, good_z(~V, cap, n, head, tail, free, mT, k, sd, tabT, ksT, eT, lkT, sl, fl, hg)))))
608
609def purge_ok(~V: Data, +one: Nat, +h1: {one == 1n : Nat}, +sh: ST.Sh<V>, +hg: {ST.good(~V, sh) == True{} : Bool}) -> RM.POK(~V, U32, SP.purge(~V, ST.model(~V, sh)), LR.purge(&2, V, ST.real(~V, sh))):
610  match sh:
611    case ST.LS{cap, n, head, tail, free, mT, k, sd, tabT, ksT, eT, lkT, sl, fl}:
612      purge_sh(~V, cap, n, head, tail, free, mT, k, sd, tabT, ksT, eT, lkT, sl, fl, hg, one, h1)