]> matita.cs.unibo.it Git - helm.git/blobdiff - matita/tests/TPTP/Veloci/RNG007-4.p.ma
branch for universe
[helm.git] / matita / tests / TPTP / Veloci / RNG007-4.p.ma
diff --git a/matita/tests/TPTP/Veloci/RNG007-4.p.ma b/matita/tests/TPTP/Veloci/RNG007-4.p.ma
new file mode 100644 (file)
index 0000000..97fc8ae
--- /dev/null
@@ -0,0 +1,90 @@
+
+include "logic/equality.ma".
+(* Inclusion of: RNG007-4.p *)
+(* -------------------------------------------------------------------------- *)
+(*  File     : RNG007-4 : TPTP v3.1.1. Released v1.0.0. *)
+(*  Domain   : Ring Theory *)
+(*  Problem  : In Boolean rings, X is its own inverse *)
+(*  Version  : [Peterson & Stickel, 1981] (equality) axioms. *)
+(*             Theorem formulation : Equality. *)
+(*  English  : Given a ring in which for all x, x * x = x, prove that for  *)
+(*             all x, x + x = additive_identity *)
+(*  Refs     : [PS81]  Peterson & Stickel (1981), Complete Sets of Reductions *)
+(*  Source   : [ANL] *)
+(*  Names    : lemma.ver2.in [ANL] *)
+(*  Status   : Unsatisfiable *)
+(*  Rating   : 0.00 v2.2.1, 0.11 v2.2.0, 0.14 v2.1.0, 0.13 v2.0.0 *)
+(*  Syntax   : Number of clauses     :   16 (   0 non-Horn;  16 unit;   2 RR) *)
+(*             Number of atoms       :   16 (  16 equality) *)
+(*             Maximal clause size   :    1 (   1 average) *)
+(*             Number of predicates  :    1 (   0 propositional; 2-2 arity) *)
+(*             Number of functors    :    5 (   2 constant; 0-2 arity) *)
+(*             Number of variables   :   26 (   2 singleton) *)
+(*             Maximal term depth    :    3 (   2 average) *)
+(*  Comments :  *)
+(* -------------------------------------------------------------------------- *)
+(* ----Include ring theory axioms  *)
+(* Inclusion of: Axioms/RNG002-0.ax *)
+(* -------------------------------------------------------------------------- *)
+(*  File     : RNG002-0 : TPTP v3.1.1. Released v1.0.0. *)
+(*  Domain   : Ring Theory *)
+(*  Axioms   : Ring theory (equality) axioms *)
+(*  Version  : [PS81] (equality) axioms : *)
+(*             Reduced & Augmented > Complete. *)
+(*  English  :  *)
+(*  Refs     : [PS81]  Peterson & Stickel (1981), Complete Sets of Reductions *)
+(*  Source   : [ANL] *)
+(*  Names    :  *)
+(*  Status   :  *)
+(*  Syntax   : Number of clauses    :   14 (   0 non-Horn;  14 unit;   1 RR) *)
+(*             Number of literals   :   14 (  14 equality) *)
+(*             Maximal clause size  :    1 (   1 average) *)
+(*             Number of predicates :    1 (   0 propositional; 2-2 arity) *)
+(*             Number of functors   :    4 (   1 constant; 0-2 arity) *)
+(*             Number of variables  :   25 (   2 singleton) *)
+(*             Maximal term depth   :    3 (   2 average) *)
+(*  Comments : Not sure if these are complete. I don't know if the reductions *)
+(*             given in [PS81] are suitable for ATP. *)
+(* -------------------------------------------------------------------------- *)
+(* ----Existence of left identity for addition  *)
+(* ----Existence of left additive additive_inverse  *)
+(* ----Distributive property of product over sum  *)
+(* ----Inverse of identity is identity, stupid  *)
+(* ----Inverse of additive_inverse of X is X  *)
+(* ----Behavior of 0 and the multiplication operation  *)
+(* ----Inverse of (x + y) is additive_inverse(x) + additive_inverse(y)  *)
+(* ----x * additive_inverse(y) = additive_inverse (x * y)  *)
+(* ----Associativity of addition  *)
+(* ----Commutativity of addition  *)
+(* ----Associativity of product  *)
+(* -------------------------------------------------------------------------- *)
+(* -------------------------------------------------------------------------- *)
+theorem prove_inverse:
+ \forall Univ:Set.
+\forall a:Univ.
+\forall add:\forall _:Univ.\forall _:Univ.Univ.
+\forall additive_identity:Univ.
+\forall additive_inverse:\forall _:Univ.Univ.
+\forall multiply:\forall _:Univ.\forall _:Univ.Univ.
+\forall H0:\forall X:Univ.eq Univ (multiply X X) X.
+\forall H1:\forall X:Univ.\forall Y:Univ.\forall Z:Univ.eq Univ (multiply (multiply X Y) Z) (multiply X (multiply Y Z)).
+\forall H2:\forall X:Univ.\forall Y:Univ.eq Univ (add X Y) (add Y X).
+\forall H3:\forall X:Univ.\forall Y:Univ.\forall Z:Univ.eq Univ (add (add X Y) Z) (add X (add Y Z)).
+\forall H4:\forall X:Univ.\forall Y:Univ.eq Univ (multiply (additive_inverse X) Y) (additive_inverse (multiply X Y)).
+\forall H5:\forall X:Univ.\forall Y:Univ.eq Univ (multiply X (additive_inverse Y)) (additive_inverse (multiply X Y)).
+\forall H6:\forall X:Univ.\forall Y:Univ.eq Univ (additive_inverse (add X Y)) (add (additive_inverse X) (additive_inverse Y)).
+\forall H7:\forall X:Univ.eq Univ (multiply additive_identity X) additive_identity.
+\forall H8:\forall X:Univ.eq Univ (multiply X additive_identity) additive_identity.
+\forall H9:\forall X:Univ.eq Univ (additive_inverse (additive_inverse X)) X.
+\forall H10:eq Univ (additive_inverse additive_identity) additive_identity.
+\forall H11:\forall X:Univ.\forall Y:Univ.\forall Z:Univ.eq Univ (multiply (add X Y) Z) (add (multiply X Z) (multiply Y Z)).
+\forall H12:\forall X:Univ.\forall Y:Univ.\forall Z:Univ.eq Univ (multiply X (add Y Z)) (add (multiply X Y) (multiply X Z)).
+\forall H13:\forall X:Univ.eq Univ (add (additive_inverse X) X) additive_identity.
+\forall H14:\forall X:Univ.eq Univ (add additive_identity X) X.eq Univ (add a a) additive_identity
+.
+intros.
+autobatch paramodulation timeout=100;
+try assumption.
+print proofterm.
+qed.
+(* -------------------------------------------------------------------------- *)