1 include "logic/equality.ma".
3 (* Inclusion of: BOO009-2.p *)
5 (* -------------------------------------------------------------------------- *)
7 (* File : BOO009-2 : TPTP v3.7.0. Released v1.0.0. *)
9 (* Domain : Boolean Algebra *)
11 (* Problem : Multiplication absorption (X * (X + Y) = X) *)
13 (* Version : [ANL] (equality) axioms. *)
21 (* Names : prob4_part1.ver2.in [ANL] *)
23 (* Status : Unsatisfiable *)
25 (* Rating : 0.00 v2.2.1, 0.11 v2.2.0, 0.14 v2.1.0, 0.50 v2.0.0 *)
27 (* Syntax : Number of clauses : 15 ( 0 non-Horn; 15 unit; 1 RR) *)
29 (* Number of atoms : 15 ( 15 equality) *)
31 (* Maximal clause size : 1 ( 1 average) *)
33 (* Number of predicates : 1 ( 0 propositional; 2-2 arity) *)
35 (* Number of functors : 7 ( 4 constant; 0-2 arity) *)
37 (* Number of variables : 24 ( 0 singleton) *)
39 (* Maximal term depth : 3 ( 2 average) *)
43 (* -------------------------------------------------------------------------- *)
45 (* ----Include boolean algebra axioms for equality formulation *)
47 (* Inclusion of: Axioms/BOO003-0.ax *)
49 (* -------------------------------------------------------------------------- *)
51 (* File : BOO003-0 : TPTP v3.7.0. Released v1.0.0. *)
53 (* Domain : Boolean Algebra *)
55 (* Axioms : Boolean algebra (equality) axioms *)
57 (* Version : [ANL] (equality) axioms. *)
69 (* Syntax : Number of clauses : 14 ( 0 non-Horn; 14 unit; 0 RR) *)
71 (* Number of atoms : 14 ( 14 equality) *)
73 (* Maximal clause size : 1 ( 1 average) *)
75 (* Number of predicates : 1 ( 0 propositional; 2-2 arity) *)
77 (* Number of functors : 5 ( 2 constant; 0-2 arity) *)
79 (* Number of variables : 24 ( 0 singleton) *)
81 (* Maximal term depth : 3 ( 2 average) *)
85 (* -------------------------------------------------------------------------- *)
87 (* -------------------------------------------------------------------------- *)
89 (* -------------------------------------------------------------------------- *)
90 ntheorem prove_operation:
91 (∀Univ:Type.∀X:Univ.∀Y:Univ.∀Z:Univ.
93 ∀add:∀_:Univ.∀_:Univ.Univ.
94 ∀additive_identity:Univ.
96 ∀inverse:∀_:Univ.Univ.
97 ∀multiplicative_identity:Univ.
98 ∀multiply:∀_:Univ.∀_:Univ.Univ.
99 ∀H0:∀X:Univ.eq Univ (add additive_identity X) X.
100 ∀H1:∀X:Univ.eq Univ (add X additive_identity) X.
101 ∀H2:∀X:Univ.eq Univ (multiply multiplicative_identity X) X.
102 ∀H3:∀X:Univ.eq Univ (multiply X multiplicative_identity) X.
103 ∀H4:∀X:Univ.eq Univ (multiply (inverse X) X) additive_identity.
104 ∀H5:∀X:Univ.eq Univ (multiply X (inverse X)) additive_identity.
105 ∀H6:∀X:Univ.eq Univ (add (inverse X) X) multiplicative_identity.
106 ∀H7:∀X:Univ.eq Univ (add X (inverse X)) multiplicative_identity.
107 ∀H8:∀X:Univ.∀Y:Univ.∀Z:Univ.eq Univ (multiply X (add Y Z)) (add (multiply X Y) (multiply X Z)).
108 ∀H9:∀X:Univ.∀Y:Univ.∀Z:Univ.eq Univ (multiply (add X Y) Z) (add (multiply X Z) (multiply Y Z)).
109 ∀H10:∀X:Univ.∀Y:Univ.∀Z:Univ.eq Univ (add X (multiply Y Z)) (multiply (add X Y) (add X Z)).
110 ∀H11:∀X:Univ.∀Y:Univ.∀Z:Univ.eq Univ (add (multiply X Y) Z) (multiply (add X Z) (add Y Z)).
111 ∀H12:∀X:Univ.∀Y:Univ.eq Univ (multiply X Y) (multiply Y X).
112 ∀H13:∀X:Univ.∀Y:Univ.eq Univ (add X Y) (add Y X).eq Univ (multiply a (add a b)) a)
120 #additive_identity ##.
123 #multiplicative_identity ##.
139 nauto by H0,H1,H2,H3,H4,H5,H6,H7,H8,H9,H10,H11,H12,H13 ##;
140 ntry (nassumption) ##;
143 (* -------------------------------------------------------------------------- *)