U32.internal_fin_wrap: def of bend-mathlib@0.8.1.0 Import: import bend-mathlib@0.8.1.0/u32.bend as U32 Lines 280-290 of bend-mathlib@0.8.1.0/u32.bend: https://jend.leeeet.dev/read.txt?path=bend-mathlib@0.8.1.0/u32.bend&start_line=280&end_line=290 import Base import bend-mathlib@0.8.1.0/nat.bend as MNat def internal_fin_wrap(+e: Nat, -s: Nat, +m: Nat, o: Bool, eq: {Nat.add(e, Bool.pick(Nat, o, m, 0n)) == s : Nat}, h: MNat.lt(e, m)) -> {e == Nat.mod(s, m) : Nat}: match o: case False{}: %eq : {e == Nat.mod(_, m) : Nat} %MNat.add_zero_sym(e) : {e == Nat.mod(_, m) : Nat} Equal.sym(Nat, Nat.mod(e, m), e, MNat.mod_eq_of_lt(e, m, h)) case True{}: %eq : {e == Nat.mod(_, m) : Nat} %MNat.add_comm(m, e) : {e == Nat.mod(_, m) : Nat} %MNat.add_mod_left_sym(e, m) : {e == _ : Nat} Equal.sym(Nat, Nat.mod(e, m), e, MNat.mod_eq_of_lt(e, m, h)) Uses (11): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool.pick https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Equal.sym https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat.add https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat.mod https://jend.leeeet.dev/definition.txt?path=bend-mathlib@0.8.1.0/nat.bend&name=add_comm https://jend.leeeet.dev/definition.txt?path=bend-mathlib@0.8.1.0/nat.bend&name=add_mod_left_sym https://jend.leeeet.dev/definition.txt?path=bend-mathlib@0.8.1.0/nat.bend&name=add_zero_sym https://jend.leeeet.dev/definition.txt?path=bend-mathlib@0.8.1.0/nat.bend&name=lt https://jend.leeeet.dev/definition.txt?path=bend-mathlib@0.8.1.0/nat.bend&name=mod_eq_of_lt