NatOrder.antisymmetric: def of stelliferous@0.0.2.0 Import: import stelliferous@0.0.2.0/proofs/nat_order.bend as NatOrder Lines 368-375 of stelliferous@0.0.2.0/proofs/nat_order.bend: https://jend.leeeet.dev/read.txt?path=stelliferous@0.0.2.0/proofs/nat_order.bend&start_line=368&end_line=375 import Base import stelliferous@0.0.2.0/proofs/word_encoding.bend as WordEncoding # Two opposite bounds identify a natural number. def antisymmetric(+left: Nat,+right: Nat,forward: {Nat.is_le(left,right) == True{} : Bool},backward: {Nat.is_le(right,left) == True{} : Bool}) -> {left == right : Nat}: match left right: case 0n 0n: {==} case 0n 1n+right: Empty.absurd({0n == 1n+right : Nat},WordEncoding.false_true(backward)) case 1n+left 0n: Empty.absurd({1n+left == 0n : Nat},WordEncoding.false_true(forward)) case 1n+ +left 1n+ +right: Equal.cong(Nat,Nat,value => 1n+value,left,right,antisymmetric(left,right,forward,backward)) Uses (6): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Empty.absurd https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Equal.cong https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat.is_le https://jend.leeeet.dev/definition.txt?path=stelliferous@0.0.2.0/proofs/word_encoding.bend&name=false_true