1 include "logic/equality.ma".
3 (* Inclusion of: RNG015-6.p *)
5 (* -------------------------------------------------------------------------- *)
7 (* File : RNG015-6 : TPTP v3.7.0. Released v1.0.0. *)
9 (* Domain : Ring Theory (Alternative) *)
11 (* Problem : X*(Y+ -Z) = (X*Y) + -(X*Z) *)
13 (* Version : [Ste87] (equality) axioms. *)
17 (* Refs : [Ste87] Stevens (1987), Some Experiments in Nonassociative Rin *)
19 (* Source : [Ste87] *)
21 (* Names : c18 [Ste87] *)
23 (* Status : Unsatisfiable *)
25 (* Rating : 0.00 v2.2.1, 0.22 v2.2.0, 0.14 v2.1.0, 0.25 v2.0.0 *)
27 (* Syntax : Number of clauses : 16 ( 0 non-Horn; 16 unit; 1 RR) *)
29 (* Number of atoms : 16 ( 16 equality) *)
31 (* Maximal clause size : 1 ( 1 average) *)
33 (* Number of predicates : 1 ( 0 propositional; 2-2 arity) *)
35 (* Number of functors : 9 ( 4 constant; 0-3 arity) *)
37 (* Number of variables : 27 ( 2 singleton) *)
39 (* Maximal term depth : 5 ( 2 average) *)
43 (* -------------------------------------------------------------------------- *)
45 (* ----Include nonassociative ring axioms *)
47 (* Inclusion of: Axioms/RNG003-0.ax *)
49 (* -------------------------------------------------------------------------- *)
51 (* File : RNG003-0 : TPTP v3.7.0. Released v1.0.0. *)
53 (* Domain : Ring Theory (Alternative) *)
55 (* Axioms : Alternative ring theory (equality) axioms *)
57 (* Version : [Ste87] (equality) axioms. *)
61 (* Refs : [Ste87] Stevens (1987), Some Experiments in Nonassociative Rin *)
63 (* Source : [Ste87] *)
69 (* Syntax : Number of clauses : 15 ( 0 non-Horn; 15 unit; 0 RR) *)
71 (* Number of atoms : 15 ( 15 equality) *)
73 (* Maximal clause size : 1 ( 1 average) *)
75 (* Number of predicates : 1 ( 0 propositional; 2-2 arity) *)
77 (* Number of functors : 6 ( 1 constant; 0-3 arity) *)
79 (* Number of variables : 27 ( 2 singleton) *)
81 (* Maximal term depth : 5 ( 2 average) *)
85 (* -------------------------------------------------------------------------- *)
87 (* ----There exists an additive identity element *)
89 (* ----Multiplicative zero *)
91 (* ----Existence of left additive additive_inverse *)
93 (* ----Inverse of additive_inverse of X is X *)
95 (* ----Distributive property of product over sum *)
97 (* ----Commutativity for addition *)
99 (* ----Associativity for addition *)
101 (* ----Right alternative law *)
103 (* ----Left alternative law *)
109 (* -------------------------------------------------------------------------- *)
111 (* -------------------------------------------------------------------------- *)
112 ntheorem prove_distributivity:
113 (∀Univ:Type.∀X:Univ.∀Y:Univ.∀Z:Univ.
114 ∀add:∀_:Univ.∀_:Univ.Univ.
115 ∀additive_identity:Univ.
116 ∀additive_inverse:∀_:Univ.Univ.
117 ∀associator:∀_:Univ.∀_:Univ.∀_:Univ.Univ.
118 ∀commutator:∀_:Univ.∀_:Univ.Univ.
119 ∀multiply:∀_:Univ.∀_:Univ.Univ.
123 ∀H0:∀X:Univ.∀Y:Univ.eq Univ (commutator X Y) (add (multiply Y X) (additive_inverse (multiply X Y))).
124 ∀H1:∀X:Univ.∀Y:Univ.∀Z:Univ.eq Univ (associator X Y Z) (add (multiply (multiply X Y) Z) (additive_inverse (multiply X (multiply Y Z)))).
125 ∀H2:∀X:Univ.∀Y:Univ.eq Univ (multiply (multiply X X) Y) (multiply X (multiply X Y)).
126 ∀H3:∀X:Univ.∀Y:Univ.eq Univ (multiply (multiply X Y) Y) (multiply X (multiply Y Y)).
127 ∀H4:∀X:Univ.∀Y:Univ.∀Z:Univ.eq Univ (add X (add Y Z)) (add (add X Y) Z).
128 ∀H5:∀X:Univ.∀Y:Univ.eq Univ (add X Y) (add Y X).
129 ∀H6:∀X:Univ.∀Y:Univ.∀Z:Univ.eq Univ (multiply (add X Y) Z) (add (multiply X Z) (multiply Y Z)).
130 ∀H7:∀X:Univ.∀Y:Univ.∀Z:Univ.eq Univ (multiply X (add Y Z)) (add (multiply X Y) (multiply X Z)).
131 ∀H8:∀X:Univ.eq Univ (additive_inverse (additive_inverse X)) X.
132 ∀H9:∀X:Univ.eq Univ (add X (additive_inverse X)) additive_identity.
133 ∀H10:∀X:Univ.eq Univ (add (additive_inverse X) X) additive_identity.
134 ∀H11:∀X:Univ.eq Univ (multiply X additive_identity) additive_identity.
135 ∀H12:∀X:Univ.eq Univ (multiply additive_identity X) additive_identity.
136 ∀H13:∀X:Univ.eq Univ (add X additive_identity) X.
137 ∀H14:∀X:Univ.eq Univ (add additive_identity X) X.eq Univ (multiply x (add y (additive_inverse z))) (add (multiply x y) (additive_inverse (multiply x z))))
144 #additive_identity ##.
145 #additive_inverse ##.
167 nauto by H0,H1,H2,H3,H4,H5,H6,H7,H8,H9,H10,H11,H12,H13,H14 ##;
168 ntry (nassumption) ##;
171 (* -------------------------------------------------------------------------- *)