def ncmp_trans

bend-kit-collections@0.1.4.1 · PROOF.bend:3975

import bend-kit-collections@0.1.4.1/PROOF.bend as PROOF
import Base

3975def ncmp_trans(
3976  a: Nat, b: Nat, c: Nat, e1: {Nat.cmp(a, b) == LT{} : Cmp}, e2: {Nat.cmp(b, c) == LT{} : Cmp}
3977) -> {Nat.cmp(a, c) == LT{} : Cmp}:
3978  match a b c:
3979    case 0n 0n _:
3980      lt_absurd({Nat.cmp(0n, c) == LT{} : Cmp}, EQ{}, {==}, e1)
3981    case 1n+p 0n _:
3982      lt_absurd({Nat.cmp(1n+p, c) == LT{} : Cmp}, GT{}, {==}, e1)
3983    case _ 1n+q 0n:
3984      lt_absurd({Nat.cmp(a, 0n) == LT{} : Cmp}, GT{}, {==}, e2)
3985    case 0n 1n+q 1n+r:
3986      {==}
3987    case 1n+p 1n+q 1n+r:
3988      ncmp_trans(p, q, r, e1, e2)

Uses (4)

Used by (1)