]> matita.cs.unibo.it Git - helm.git/blob - matitaB/matita/contribs/ng_TPTP/RNG017-6.ma
New management of justifications.
[helm.git] / matitaB / matita / contribs / ng_TPTP / RNG017-6.ma
1 include "logic/equality.ma".
2
3 (* Inclusion of: RNG017-6.p *)
4
5 (* -------------------------------------------------------------------------- *)
6
7 (*  File     : RNG017-6 : TPTP v3.7.0. Released v1.0.0. *)
8
9 (*  Domain   : Ring Theory (Alternative) *)
10
11 (*  Problem  : -X*(Y+Z) = -(X*Y) + -(X*Z) *)
12
13 (*  Version  : [Ste87] (equality) axioms. *)
14
15 (*  English  :  *)
16
17 (*  Refs     : [Ste87] Stevens (1987), Some Experiments in Nonassociative Rin *)
18
19 (*  Source   : [Ste87] *)
20
21 (*  Names    : c20 [Ste87] *)
22
23 (*  Status   : Unsatisfiable *)
24
25 (*  Rating   : 0.00 v2.2.1, 0.22 v2.2.0, 0.29 v2.1.0, 0.38 v2.0.0 *)
26
27 (*  Syntax   : Number of clauses     :   16 (   0 non-Horn;  16 unit;   1 RR) *)
28
29 (*             Number of atoms       :   16 (  16 equality) *)
30
31 (*             Maximal clause size   :    1 (   1 average) *)
32
33 (*             Number of predicates  :    1 (   0 propositional; 2-2 arity) *)
34
35 (*             Number of functors    :    9 (   4 constant; 0-3 arity) *)
36
37 (*             Number of variables   :   27 (   2 singleton) *)
38
39 (*             Maximal term depth    :    5 (   2 average) *)
40
41 (*  Comments :  *)
42
43 (* -------------------------------------------------------------------------- *)
44
45 (* ----Include nonassociative ring axioms  *)
46
47 (* Inclusion of: Axioms/RNG003-0.ax *)
48
49 (* -------------------------------------------------------------------------- *)
50
51 (*  File     : RNG003-0 : TPTP v3.7.0. Released v1.0.0. *)
52
53 (*  Domain   : Ring Theory (Alternative) *)
54
55 (*  Axioms   : Alternative ring theory (equality) axioms *)
56
57 (*  Version  : [Ste87] (equality) axioms. *)
58
59 (*  English  :  *)
60
61 (*  Refs     : [Ste87] Stevens (1987), Some Experiments in Nonassociative Rin *)
62
63 (*  Source   : [Ste87] *)
64
65 (*  Names    :  *)
66
67 (*  Status   :  *)
68
69 (*  Syntax   : Number of clauses    :   15 (   0 non-Horn;  15 unit;   0 RR) *)
70
71 (*             Number of atoms      :   15 (  15 equality) *)
72
73 (*             Maximal clause size  :    1 (   1 average) *)
74
75 (*             Number of predicates :    1 (   0 propositional; 2-2 arity) *)
76
77 (*             Number of functors   :    6 (   1 constant; 0-3 arity) *)
78
79 (*             Number of variables  :   27 (   2 singleton) *)
80
81 (*             Maximal term depth   :    5 (   2 average) *)
82
83 (*  Comments :  *)
84
85 (* -------------------------------------------------------------------------- *)
86
87 (* ----There exists an additive identity element  *)
88
89 (* ----Multiplicative zero  *)
90
91 (* ----Existence of left additive additive_inverse  *)
92
93 (* ----Inverse of additive_inverse of X is X  *)
94
95 (* ----Distributive property of product over sum  *)
96
97 (* ----Commutativity for addition  *)
98
99 (* ----Associativity for addition  *)
100
101 (* ----Right alternative law  *)
102
103 (* ----Left alternative law  *)
104
105 (* ----Associator  *)
106
107 (* ----Commutator  *)
108
109 (* -------------------------------------------------------------------------- *)
110
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.
120 ∀x:Univ.
121 ∀y:Univ.
122 ∀z: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 (additive_inverse x) (add y z)) (add (additive_inverse (multiply x y)) (additive_inverse (multiply x z))))
138 .
139 #Univ ##.
140 #X ##.
141 #Y ##.
142 #Z ##.
143 #add ##.
144 #additive_identity ##.
145 #additive_inverse ##.
146 #associator ##.
147 #commutator ##.
148 #multiply ##.
149 #x ##.
150 #y ##.
151 #z ##.
152 #H0 ##.
153 #H1 ##.
154 #H2 ##.
155 #H3 ##.
156 #H4 ##.
157 #H5 ##.
158 #H6 ##.
159 #H7 ##.
160 #H8 ##.
161 #H9 ##.
162 #H10 ##.
163 #H11 ##.
164 #H12 ##.
165 #H13 ##.
166 #H14 ##.
167 nauto by H0,H1,H2,H3,H4,H5,H6,H7,H8,H9,H10,H11,H12,H13,H14 ##;
168 ntry (nassumption) ##;
169 nqed.
170
171 (* -------------------------------------------------------------------------- *)