def ur.r42
bend-osdev-u32@0.1.0.0 · PROOF.bend:2147
import bend-osdev-u32@0.1.0.0/PROOF.bend as PROOF
import Base
import bend-osdev-u32@0.1.0.0/LAWS.bend as Laws
2147def ur.r42(+x0: Nat) -> {2n+Nat.double(x0) == Nat.double(1n+x0) : Nat}:
2148 %Equal.sym(Nat, Nat.double(x0), Nat.add(x0, x0), Laws.nat_double(x0)) : {Nat.add(1n, Nat.add(1n, _)) == Nat.double(1n+x0) : Nat}
2149 %Equal.sym(Nat, Nat.add(1n, Nat.add(1n, Nat.add(x0, x0))), Nat.add(Nat.add(1n, 1n), Nat.add(x0, x0)), Equal.sym(Nat, Nat.add(Nat.add(1n, 1n), Nat.add(x0, x0)), Nat.add(1n, Nat.add(1n, Nat.add(x0, x0))), Laws.nat_add_assoc(1n, 1n, Nat.add(x0, x0)))) : {_ == Nat.double(1n+x0) : Nat}
2150 %Equal.sym(Nat, Nat.add(Nat.add(1n, 1n), Nat.add(x0, x0)), Nat.add(1n, Nat.add(1n, Nat.add(x0, x0))), Equal.sym(Nat, Nat.add(1n, Nat.add(1n, Nat.add(x0, x0))), Nat.add(Nat.add(1n, 1n), Nat.add(x0, x0)), Equal.sym(Nat, Nat.add(Nat.add(1n, 1n), Nat.add(x0, x0)), Nat.add(1n, Nat.add(1n, Nat.add(x0, x0))), Laws.nat_add_assoc(1n, 1n, Nat.add(x0, x0))))) : {_ == Nat.double(1n+x0) : Nat}
2151 %Equal.sym(Nat, Nat.add(1n, Nat.add(x0, x0)), Nat.add(x0, Nat.add(1n, x0)), Equal.sym(Nat, Nat.add(x0, Nat.add(1n, x0)), Nat.add(1n, Nat.add(x0, x0)), Laws.nat_add_left_comm(x0, 1n, x0))) : {Nat.add(1n, _) == Nat.double(1n+x0) : Nat}
2152 %Equal.sym(Nat, Nat.add(1n, Nat.add(x0, Nat.add(1n, x0))), Nat.add(Nat.add(1n, x0), Nat.add(1n, x0)), Equal.sym(Nat, Nat.add(Nat.add(1n, x0), Nat.add(1n, x0)), Nat.add(1n, Nat.add(x0, Nat.add(1n, x0))), Laws.nat_add_assoc(1n, x0, Nat.add(1n, x0)))) : {_ == Nat.double(1n+x0) : Nat}
2153 %Equal.sym(Nat, Nat.add(1n+x0, 1n+x0), Nat.double(1n+x0), Equal.sym(Nat, Nat.double(1n+x0), Nat.add(1n+x0, 1n+x0), Laws.nat_double(1n+x0))) : {_ == Nat.double(1n+x0) : Nat}
2154 {==}