1 include "logic/equality.ma".
3 (* Inclusion of: RNG007-4.p *)
5 (* -------------------------------------------------------------------------- *)
7 (* File : RNG007-4 : TPTP v3.7.0. Released v1.0.0. *)
9 (* Domain : Ring Theory *)
11 (* Problem : In Boolean rings, X is its own inverse *)
13 (* Version : [Peterson & Stickel, 1981] (equality) axioms. *)
15 (* Theorem formulation : Equality. *)
17 (* English : Given a ring in which for all x, x * x = x, prove that for *)
19 (* all x, x + x = additive_identity *)
21 (* Refs : [PS81] Peterson & Stickel (1981), Complete Sets of Reductions *)
25 (* Names : lemma.ver2.in [ANL] *)
27 (* Status : Unsatisfiable *)
29 (* Rating : 0.00 v2.2.1, 0.11 v2.2.0, 0.14 v2.1.0, 0.13 v2.0.0 *)
31 (* Syntax : Number of clauses : 16 ( 0 non-Horn; 16 unit; 2 RR) *)
33 (* Number of atoms : 16 ( 16 equality) *)
35 (* Maximal clause size : 1 ( 1 average) *)
37 (* Number of predicates : 1 ( 0 propositional; 2-2 arity) *)
39 (* Number of functors : 5 ( 2 constant; 0-2 arity) *)
41 (* Number of variables : 26 ( 2 singleton) *)
43 (* Maximal term depth : 3 ( 2 average) *)
47 (* -------------------------------------------------------------------------- *)
49 (* ----Include ring theory axioms *)
51 (* Inclusion of: Axioms/RNG002-0.ax *)
53 (* -------------------------------------------------------------------------- *)
55 (* File : RNG002-0 : TPTP v3.7.0. Released v1.0.0. *)
57 (* Domain : Ring Theory *)
59 (* Axioms : Ring theory (equality) axioms *)
61 (* Version : [PS81] (equality) axioms : *)
63 (* Reduced & Augmented > Complete. *)
67 (* Refs : [PS81] Peterson & Stickel (1981), Complete Sets of Reductions *)
75 (* Syntax : Number of clauses : 14 ( 0 non-Horn; 14 unit; 1 RR) *)
77 (* Number of atoms : 14 ( 14 equality) *)
79 (* Maximal clause size : 1 ( 1 average) *)
81 (* Number of predicates : 1 ( 0 propositional; 2-2 arity) *)
83 (* Number of functors : 4 ( 1 constant; 0-2 arity) *)
85 (* Number of variables : 25 ( 2 singleton) *)
87 (* Maximal term depth : 3 ( 2 average) *)
89 (* Comments : Not sure if these are complete. I don't know if the reductions *)
91 (* given in [PS81] are suitable for ATP. *)
93 (* -------------------------------------------------------------------------- *)
95 (* ----Existence of left identity for addition *)
97 (* ----Existence of left additive additive_inverse *)
99 (* ----Distributive property of product over sum *)
101 (* ----Inverse of identity is identity, stupid *)
103 (* ----Inverse of additive_inverse of X is X *)
105 (* ----Behavior of 0 and the multiplication operation *)
107 (* ----Inverse of (x + y) is additive_inverse(x) + additive_inverse(y) *)
109 (* ----x * additive_inverse(y) = additive_inverse (x * y) *)
111 (* ----Associativity of addition *)
113 (* ----Commutativity of addition *)
115 (* ----Associativity of product *)
117 (* -------------------------------------------------------------------------- *)
119 (* -------------------------------------------------------------------------- *)
120 ntheorem prove_inverse:
121 (∀Univ:Type.∀X:Univ.∀Y:Univ.∀Z:Univ.
123 ∀add:∀_:Univ.∀_:Univ.Univ.
124 ∀additive_identity:Univ.
125 ∀additive_inverse:∀_:Univ.Univ.
126 ∀multiply:∀_:Univ.∀_:Univ.Univ.
127 ∀H0:∀X:Univ.eq Univ (multiply X X) X.
128 ∀H1:∀X:Univ.∀Y:Univ.∀Z:Univ.eq Univ (multiply (multiply X Y) Z) (multiply X (multiply Y Z)).
129 ∀H2:∀X:Univ.∀Y:Univ.eq Univ (add X Y) (add Y X).
130 ∀H3:∀X:Univ.∀Y:Univ.∀Z:Univ.eq Univ (add (add X Y) Z) (add X (add Y Z)).
131 ∀H4:∀X:Univ.∀Y:Univ.eq Univ (multiply (additive_inverse X) Y) (additive_inverse (multiply X Y)).
132 ∀H5:∀X:Univ.∀Y:Univ.eq Univ (multiply X (additive_inverse Y)) (additive_inverse (multiply X Y)).
133 ∀H6:∀X:Univ.∀Y:Univ.eq Univ (additive_inverse (add X Y)) (add (additive_inverse X) (additive_inverse Y)).
134 ∀H7:∀X:Univ.eq Univ (multiply additive_identity X) additive_identity.
135 ∀H8:∀X:Univ.eq Univ (multiply X additive_identity) additive_identity.
136 ∀H9:∀X:Univ.eq Univ (additive_inverse (additive_inverse X)) X.
137 ∀H10:eq Univ (additive_inverse additive_identity) additive_identity.
138 ∀H11:∀X:Univ.∀Y:Univ.∀Z:Univ.eq Univ (multiply (add X Y) Z) (add (multiply X Z) (multiply Y Z)).
139 ∀H12:∀X:Univ.∀Y:Univ.∀Z:Univ.eq Univ (multiply X (add Y Z)) (add (multiply X Y) (multiply X Z)).
140 ∀H13:∀X:Univ.eq Univ (add (additive_inverse X) X) additive_identity.
141 ∀H14:∀X:Univ.eq Univ (add additive_identity X) X.eq Univ (add a a) additive_identity)
149 #additive_identity ##.
150 #additive_inverse ##.
167 nauto by H0,H1,H2,H3,H4,H5,H6,H7,H8,H9,H10,H11,H12,H13,H14 ##;
168 ntry (nassumption) ##;
171 (* -------------------------------------------------------------------------- *)