prove_constructors_one_one : (thm -> thm)
|- !f0 f1. ?! fn. (!x. fn(LEAF x) = f0 x) /\ (!b1 b2. fn(NODE b1 b2) = f1(fn b1)(fn b2)b1 b2)prove_constructors_one_one proves and returns the theorem:
|- (!x x'. (LEAF x = LEAF x') = (x = x')) /\ (!b1 b2 b1' b2'. (NODE b1 b2 = NODE b1' b2') = (b1 = b1') /\ (b2 = b2'))This states that the constructors LEAF and NODE are both injective.