def un.odd_even

bend-osdev-u32@0.1.0.0 · PROOF.bend:2081

import bend-osdev-u32@0.1.0.0/PROOF.bend as PROOF
import Base

2081def un.odd_even(a: Nat, b: Nat, e: {1n+Nat.double(a) == Nat.double(b) : Nat}) -> Empty:
2082  match a b:
2083    case 0n 0n:
2084      un.sz(0n, e)
2085    case 0n 1n+ +q:
2086      un.sz(Nat.double(q), Equal.sym(Nat, 0n, 1n+Nat.double(q), un.succ_inj(0n, 1n+Nat.double(q), e)))
2087    case 1n+ +p 0n:
2088      un.sz(2n+Nat.double(p), e)
2089    case 1n+ +p 1n+ +q:
2090      un.odd_even(p, q, un.succ_inj(1n+Nat.double(p), Nat.double(q), un.succ_inj(2n+Nat.double(p), 1n+Nat.double(q), e)))

Uses (6)

Used by (2)