1 include "logic/equality.ma".
3 (* Inclusion of: BOO007-2.p *)
5 (* -------------------------------------------------------------------------- *)
7 (* File : BOO007-2 : TPTP v3.7.0. Released v1.0.0. *)
9 (* Domain : Boolean Algebra *)
11 (* Problem : Product is associative ( (X * Y) * Z = X * (Y * Z) ) *)
13 (* Version : [ANL] (equality) axioms. *)
17 (* Refs : [Ver92] Veroff (1992), Email to G. Sutcliffe *)
19 (* Source : [Ver92] *)
21 (* Names : associativity [Ver92] *)
23 (* Status : Unsatisfiable *)
25 (* Rating : 0.22 v3.4.0, 0.25 v3.3.0, 0.21 v3.2.0, 0.14 v3.1.0, 0.00 v2.7.0, 0.18 v2.6.0, 0.17 v2.5.0, 0.00 v2.2.1, 0.44 v2.2.0, 0.57 v2.1.0, 0.75 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 : 8 ( 5 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_associativity:
91 (∀Univ:Type.∀X:Univ.∀Y:Univ.∀Z:Univ.
93 ∀add:∀_:Univ.∀_:Univ.Univ.
94 ∀additive_identity:Univ.
97 ∀inverse:∀_:Univ.Univ.
98 ∀multiplicative_identity:Univ.
99 ∀multiply:∀_:Univ.∀_:Univ.Univ.
100 ∀H0:∀X:Univ.eq Univ (add additive_identity X) X.
101 ∀H1:∀X:Univ.eq Univ (add X additive_identity) X.
102 ∀H2:∀X:Univ.eq Univ (multiply multiplicative_identity X) X.
103 ∀H3:∀X:Univ.eq Univ (multiply X multiplicative_identity) X.
104 ∀H4:∀X:Univ.eq Univ (multiply (inverse X) X) additive_identity.
105 ∀H5:∀X:Univ.eq Univ (multiply X (inverse X)) additive_identity.
106 ∀H6:∀X:Univ.eq Univ (add (inverse X) X) multiplicative_identity.
107 ∀H7:∀X:Univ.eq Univ (add X (inverse X)) multiplicative_identity.
108 ∀H8:∀X:Univ.∀Y:Univ.∀Z:Univ.eq Univ (multiply X (add Y Z)) (add (multiply X Y) (multiply X Z)).
109 ∀H9:∀X:Univ.∀Y:Univ.∀Z:Univ.eq Univ (multiply (add X Y) Z) (add (multiply X Z) (multiply Y Z)).
110 ∀H10:∀X:Univ.∀Y:Univ.∀Z:Univ.eq Univ (add X (multiply Y Z)) (multiply (add X Y) (add X Z)).
111 ∀H11:∀X:Univ.∀Y:Univ.∀Z:Univ.eq Univ (add (multiply X Y) Z) (multiply (add X Z) (add Y Z)).
112 ∀H12:∀X:Univ.∀Y:Univ.eq Univ (multiply X Y) (multiply Y X).
113 ∀H13:∀X:Univ.∀Y:Univ.eq Univ (add X Y) (add Y X).eq Univ (multiply a (multiply b c)) (multiply (multiply a b) c))
121 #additive_identity ##.
125 #multiplicative_identity ##.
141 nauto by H0,H1,H2,H3,H4,H5,H6,H7,H8,H9,H10,H11,H12,H13 ##;
142 ntry (nassumption) ##;
145 (* -------------------------------------------------------------------------- *)