proposition: Theorem repeat_loop : forall (m n : nat), m + n = n + m.
proof: Proof. intros m n. Admitted. Fixpoint optimize_0plus_b (b : bexp) : bexp . Admitted. Theorem optimize_0plus_b_sound : forall b, beval (optimize_0plus_b b) = beval b. Proof. Admitted. Ltac invert H := inversion H; subst; clear H. Lemma invert_example1: forall {a b c: nat}, [a ;b] = [a;c] -> b = c. intros. invert H. reflexivity. Qed.
imports: Coq(Bool.Bool) Coq(Init.Nat) Coq(Arith.Arith) Coq(Arith.EqNat) Coq(Lia) Coq(Lists.List) Coq(Strings.String) LF(Maps)