3 t cut "forall x. forall y. x = y -> y + x = 0" H2
4 t cut "5 * (3 + 4) = 0"
13 (* print goal with premisses introduced *)
16 t cut "forall a: int. forall b: int. a = b -> forall c: int. c = a -> c = a * b"
22 t cut "exists x: int. x = x"
24 (* print goal with h in context *)
33 c CVC4,1.5-prerelease 10 1100
36 t cut "forall x. forall y: int. x = y + x"
40 c CVC4,1.5-prerelease 10 1100
43 (* print new goal G1 with (x = (2 * 5)) *)
44 t case "exists x. exists y. x + y = y - x" "h10"
45 (* print the goal with the hypothesis in context *)
47 (* return to context with positive exists *)
48 t cut "exists x. exists y. x + y = 0" "he"
50 (* Have to prove h1 with 2 exists *)
53 t cut "forall x. forall y. x + y = 0" "hf"
54 (* print with h2 in context *)
55 t instantiate "h2" "4"
56 (* create h21 which is correct *)
58 (* instantiate y in the goal *)
59 t cut "forall y. true -> 4 + y = 0"
62 (* apply h2 to the goal and generate the new goal*)
64 (* go back to the 4 + 3 = 0 goal *)
65 t cut "forall y. y = 5 -> 4 + y = 0"
66 (* new hypothesis to apply *)
68 (* apply hypothesis and generate the goal 3 = 5 which is correct. *)
70 (* remove correct hypothesis h2 *)
71 t remove CompatOrderMult