1 include "logic/equality.ma".
3 (* Inclusion of: RNG008-4.p *)
5 (* -------------------------------------------------------------------------- *)
7 (* File : RNG008-4 : TPTP v3.7.0. Released v1.0.0. *)
9 (* Domain : Ring Theory *)
11 (* Problem : Boolean rings are commutative *)
13 (* Version : [PS81] (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 and y, x * y = y * x. *)
21 (* Refs : [MOW76] McCharen et al. (1976), Problems and Experiments for a *)
23 (* : [PS81] Peterson & Stickel (1981), Complete Sets of Reductions *)
29 (* Status : Unsatisfiable *)
31 (* Rating : 0.00 v3.3.0, 0.07 v3.1.0, 0.11 v2.7.0, 0.00 v2.2.1, 0.22 v2.2.0, 0.29 v2.1.0, 0.25 v2.0.0 *)
33 (* Syntax : Number of clauses : 17 ( 0 non-Horn; 17 unit; 3 RR) *)
35 (* Number of atoms : 17 ( 17 equality) *)
37 (* Maximal clause size : 1 ( 1 average) *)
39 (* Number of predicates : 1 ( 0 propositional; 2-2 arity) *)
41 (* Number of functors : 7 ( 4 constant; 0-2 arity) *)
43 (* Number of variables : 26 ( 2 singleton) *)
45 (* Maximal term depth : 3 ( 2 average) *)
49 (* -------------------------------------------------------------------------- *)
51 (* ----Include ring theory axioms *)
53 (* Inclusion of: Axioms/RNG002-0.ax *)
55 (* -------------------------------------------------------------------------- *)
57 (* File : RNG002-0 : TPTP v3.7.0. Released v1.0.0. *)
59 (* Domain : Ring Theory *)
61 (* Axioms : Ring theory (equality) axioms *)
63 (* Version : [PS81] (equality) axioms : *)
65 (* Reduced & Augmented > Complete. *)
69 (* Refs : [PS81] Peterson & Stickel (1981), Complete Sets of Reductions *)
77 (* Syntax : Number of clauses : 14 ( 0 non-Horn; 14 unit; 1 RR) *)
79 (* Number of atoms : 14 ( 14 equality) *)
81 (* Maximal clause size : 1 ( 1 average) *)
83 (* Number of predicates : 1 ( 0 propositional; 2-2 arity) *)
85 (* Number of functors : 4 ( 1 constant; 0-2 arity) *)
87 (* Number of variables : 25 ( 2 singleton) *)
89 (* Maximal term depth : 3 ( 2 average) *)
91 (* Comments : Not sure if these are complete. I don't know if the reductions *)
93 (* given in [PS81] are suitable for ATP. *)
95 (* -------------------------------------------------------------------------- *)
97 (* ----Existence of left identity for addition *)
99 (* ----Existence of left additive additive_inverse *)
101 (* ----Distributive property of product over sum *)
103 (* ----Inverse of identity is identity, stupid *)
105 (* ----Inverse of additive_inverse of X is X *)
107 (* ----Behavior of 0 and the multiplication operation *)
109 (* ----Inverse of (x + y) is additive_inverse(x) + additive_inverse(y) *)
111 (* ----x * additive_inverse(y) = additive_inverse (x * y) *)
113 (* ----Associativity of addition *)
115 (* ----Commutativity of addition *)
117 (* ----Associativity of product *)
119 (* -------------------------------------------------------------------------- *)
121 (* -------------------------------------------------------------------------- *)
122 ntheorem prove_commutativity:
123 (∀Univ:Type.∀X:Univ.∀Y:Univ.∀Z:Univ.
125 ∀add:∀_:Univ.∀_:Univ.Univ.
126 ∀additive_identity:Univ.
127 ∀additive_inverse:∀_:Univ.Univ.
130 ∀multiply:∀_:Univ.∀_:Univ.Univ.
131 ∀H0:eq Univ (multiply a b) c.
132 ∀H1:∀X:Univ.eq Univ (multiply X X) X.
133 ∀H2:∀X:Univ.∀Y:Univ.∀Z:Univ.eq Univ (multiply (multiply X Y) Z) (multiply X (multiply Y Z)).
134 ∀H3:∀X:Univ.∀Y:Univ.eq Univ (add X Y) (add Y X).
135 ∀H4:∀X:Univ.∀Y:Univ.∀Z:Univ.eq Univ (add (add X Y) Z) (add X (add Y Z)).
136 ∀H5:∀X:Univ.∀Y:Univ.eq Univ (multiply (additive_inverse X) Y) (additive_inverse (multiply X Y)).
137 ∀H6:∀X:Univ.∀Y:Univ.eq Univ (multiply X (additive_inverse Y)) (additive_inverse (multiply X Y)).
138 ∀H7:∀X:Univ.∀Y:Univ.eq Univ (additive_inverse (add X Y)) (add (additive_inverse X) (additive_inverse Y)).
139 ∀H8:∀X:Univ.eq Univ (multiply additive_identity X) additive_identity.
140 ∀H9:∀X:Univ.eq Univ (multiply X additive_identity) additive_identity.
141 ∀H10:∀X:Univ.eq Univ (additive_inverse (additive_inverse X)) X.
142 ∀H11:eq Univ (additive_inverse additive_identity) additive_identity.
143 ∀H12:∀X:Univ.∀Y:Univ.∀Z:Univ.eq Univ (multiply (add X Y) Z) (add (multiply X Z) (multiply Y Z)).
144 ∀H13:∀X:Univ.∀Y:Univ.∀Z:Univ.eq Univ (multiply X (add Y Z)) (add (multiply X Y) (multiply X Z)).
145 ∀H14:∀X:Univ.eq Univ (add (additive_inverse X) X) additive_identity.
146 ∀H15:∀X:Univ.eq Univ (add additive_identity X) X.eq Univ (multiply b a) c)
154 #additive_identity ##.
155 #additive_inverse ##.
175 nauto by H0,H1,H2,H3,H4,H5,H6,H7,H8,H9,H10,H11,H12,H13,H14,H15 ##;
176 ntry (nassumption) ##;
179 (* -------------------------------------------------------------------------- *)