]> matita.cs.unibo.it Git - helm.git/blob - matita/tests/TPTP/Veloci/GRP023-2.p.ma
tagged 0.5.0-rc1
[helm.git] / matita / tests / TPTP / Veloci / GRP023-2.p.ma
1
2 include "logic/equality.ma".
3 (* Inclusion of: GRP023-2.p *)
4 (* -------------------------------------------------------------------------- *)
5 (*  File     : GRP023-2 : TPTP v3.1.1. Released v1.0.0. *)
6 (*  Domain   : Group Theory *)
7 (*  Problem  : The inverse of the identity is the identity *)
8 (*  Version  : [MOW76] (equality) axioms : Augmented. *)
9 (*  English  :  *)
10 (*  Refs     : [MOW76] McCharen et al. (1976), Problems and Experiments for a *)
11 (*  Source   : [TPTP] *)
12 (*  Names    : Established lemma [MOW76] *)
13 (*  Status   : Unsatisfiable *)
14 (*  Rating   : 0.00 v2.0.0 *)
15 (*  Syntax   : Number of clauses     :    6 (   0 non-Horn;   6 unit;   1 RR) *)
16 (*             Number of atoms       :    6 (   6 equality) *)
17 (*             Maximal clause size   :    1 (   1 average) *)
18 (*             Number of predicates  :    1 (   0 propositional; 2-2 arity) *)
19 (*             Number of functors    :    3 (   1 constant; 0-2 arity) *)
20 (*             Number of variables   :    7 (   0 singleton) *)
21 (*             Maximal term depth    :    3 (   2 average) *)
22 (*  Comments :  *)
23 (* -------------------------------------------------------------------------- *)
24 (* ----Include equality group theory axioms  *)
25 (* Inclusion of: Axioms/GRP004-0.ax *)
26 (* -------------------------------------------------------------------------- *)
27 (*  File     : GRP004-0 : TPTP v3.1.1. Released v1.0.0. *)
28 (*  Domain   : Group Theory *)
29 (*  Axioms   : Group theory (equality) axioms *)
30 (*  Version  : [MOW76] (equality) axioms :  *)
31 (*             Reduced > Complete. *)
32 (*  English  :  *)
33 (*  Refs     : [MOW76] McCharen et al. (1976), Problems and Experiments for a *)
34 (*           : [Wos88] Wos (1988), Automated Reasoning - 33 Basic Research Pr *)
35 (*  Source   : [ANL] *)
36 (*  Names    :  *)
37 (*  Status   :  *)
38 (*  Syntax   : Number of clauses    :    3 (   0 non-Horn;   3 unit;   0 RR) *)
39 (*             Number of literals   :    3 (   3 equality) *)
40 (*             Maximal clause size  :    1 (   1 average) *)
41 (*             Number of predicates :    1 (   0 propositional; 2-2 arity) *)
42 (*             Number of functors   :    3 (   1 constant; 0-2 arity) *)
43 (*             Number of variables  :    5 (   0 singleton) *)
44 (*             Maximal term depth   :    3 (   2 average) *)
45 (*  Comments : [MOW76] also contains redundant right_identity and *)
46 (*             right_inverse axioms. *)
47 (*           : These axioms are also used in [Wos88] p.186, also with *)
48 (*             right_identity and right_inverse. *)
49 (* -------------------------------------------------------------------------- *)
50 (* ----For any x and y in the group x*y is also in the group. No clause  *)
51 (* ----is needed here since this is an instance of reflexivity  *)
52 (* ----There exists an identity element  *)
53 (* ----For any x in the group, there exists an element y such that x*y = y*x  *)
54 (* ----= identity. *)
55 (* ----The operation '*' is associative  *)
56 (* -------------------------------------------------------------------------- *)
57 (* -------------------------------------------------------------------------- *)
58 (* ----Redundant two axioms *)
59 theorem prove_inverse_of_id_is_id:
60  \forall Univ:Set.
61 \forall identity:Univ.
62 \forall inverse:\forall _:Univ.Univ.
63 \forall multiply:\forall _:Univ.\forall _:Univ.Univ.
64 \forall H0:\forall X:Univ.eq Univ (multiply X (inverse X)) identity.
65 \forall H1:\forall X:Univ.eq Univ (multiply X identity) X.
66 \forall H2:\forall X:Univ.\forall Y:Univ.\forall Z:Univ.eq Univ (multiply (multiply X Y) Z) (multiply X (multiply Y Z)).
67 \forall H3:\forall X:Univ.eq Univ (multiply (inverse X) X) identity.
68 \forall H4:\forall X:Univ.eq Univ (multiply identity X) X.eq Univ (inverse identity) identity
69 .
70 intros.
71 autobatch paramodulation timeout=100;
72 try assumption.
73 print proofterm.
74 qed.
75 (* -------------------------------------------------------------------------- *)