def add_comm
bendtorch-core@0.1.0.0 · src/tensor/reduction_PROOF.bend:723
import bendtorch-core@0.1.0.0/src/tensor/reduction_PROOF.bend as ReductionPROOF
import Base
import bendtorch-core@0.1.0.0/src/storage/arith.bend as Arith
723def add_comm(+a: Nat, +b: Nat) -> {Nat.add(a, b) == Nat.add(b, a) : Nat}:
724 match a:
725 case 0n:
726 Equal.sym(Nat, Nat.add(b, 0n), b, add_zero(b))
727 case 1n+p:
728 Equal.trans(Nat, 1n+Nat.add(p, b), 1n+Nat.add(b, p), Nat.add(b, 1n+p),
729 Equal.cong(Nat, Nat, n => 1n+n, Nat.add(p, b), Nat.add(b, p), add_comm(p, b)),
730 Equal.sym(Nat, Nat.add(b, 1n+p), 1n+Nat.add(b, p), Arith.add_succ(b, p)))