def un.le_trans
bend-osdev-u32@0.1.0.0 · PROOF.bend:197
import bend-osdev-u32@0.1.0.0/PROOF.bend as PROOF
import Base
197def un.le_trans(x: Nat, y: Nat, z: Nat, h1: {Nat.is_le(x, y) == True{} : Bool}, h2: {Nat.is_le(y, z) == True{} : Bool}) -> {Nat.is_le(x, z) == True{} : Bool}:
198 match x y z:
199 case 0n _ _:
200 match z:
201 case 0n:
202 {==}
203 case 1n+zp:
204 {==}
205 case 1n+xp 0n _:
206 Empty.absurd({Nat.is_le(1n+xp, z) == True{} : Bool}, un.ft(h1))
207 case 1n+xp 1n+yp 0n:
208 Empty.absurd({Nat.is_le(1n+xp, 0n) == True{} : Bool}, un.ft(h2))
209 case 1n+xp 1n+yp 1n+zp:
210 un.le_trans(xp, yp, zp, h1, h2)