]> matita.cs.unibo.it Git - helm.git/commitdiff
new apply almost there
authorEnrico Tassi <enrico.tassi@inria.fr>
Thu, 26 Mar 2009 12:29:56 +0000 (12:29 +0000)
committerEnrico Tassi <enrico.tassi@inria.fr>
Thu, 26 Mar 2009 12:29:56 +0000 (12:29 +0000)
17 files changed:
helm/software/components/grafite/grafiteAst.ml
helm/software/components/grafite/grafiteAstPp.ml
helm/software/components/grafite_engine/grafiteEngine.ml
helm/software/components/grafite_engine/grafiteSync.ml
helm/software/components/grafite_engine/grafiteSync.mli
helm/software/components/grafite_engine/grafiteTypes.ml
helm/software/components/grafite_engine/grafiteTypes.mli
helm/software/components/grafite_parser/grafiteParser.ml
helm/software/components/ng_tactics/nTactics.ml
helm/software/matita/library/didactic/exercises/natural_deduction_fst_order.ma
helm/software/matita/matitaEngine.ml
helm/software/matita/matitaScript.ml
helm/software/matita/matitaWiki.ml
helm/software/matita/matitacLib.ml
helm/software/matita/tests/a.ma [new file with mode: 0644]
helm/software/matita/tests/depends
helm/software/matita/tests/unifhint.ma

index 018c5a44f919d7e80c516658a849baa7914950e8..7593fe53abf36f0a9439070737a9640d5b0cd8e2 100644 (file)
@@ -47,7 +47,8 @@ type 'term just =
  | `Auto of 'term auto_params ]
 
 type ntactic =
-   NApply of loc * CicNotationPt.term
+   | NApply of loc * CicNotationPt.term
+   | NId of loc
 
 type ('term, 'lazy_term, 'reduction, 'ident) tactic =
   (* Higher order tactics (i.e. tacticals) *)
@@ -189,7 +190,7 @@ type non_punctuation_tactical =
 type ('term, 'lazy_term, 'reduction, 'obj, 'ident) code =
   | Command of loc * ('term, 'obj) command
   | Macro of loc * ('term,'lazy_term) macro 
-  | NTactic of loc * ntactic option * punctuation_tactical
+  | NTactic of loc * ntactic * punctuation_tactical
   | Tactic of loc * ('term, 'lazy_term, 'reduction, 'ident) tactic option
       * punctuation_tactical
   | NonPunctuationTactical of loc * non_punctuation_tactical
index a33bf6d9de125941874d2de94be0d068d1f55fa3..5785a10719f6afa269eab400db1f7540922986a7 100644 (file)
@@ -91,6 +91,7 @@ let pp_just ~term_pp =
 
 let pp_ntactic ~map_unicode_to_tex = function
   | NApply (_,t) -> "napply " ^ CicNotationPp.pp_term t
+  | NId _ -> "nid"
 ;;
 
 let rec pp_tactic ~map_unicode_to_tex ~term_pp ~lazy_term_pp =
@@ -368,11 +369,9 @@ let pp_executable ~map_unicode_to_tex ~term_pp ~lazy_term_pp ~obj_pp =
       ^ pp_punctuation_tactical punct
   | Tactic (_, None, punct) ->
      pp_punctuation_tactical punct
-  | NTactic (_,Some tac, punct) ->
+  | NTactic (_,tac, punct) ->
      pp_ntactic ~map_unicode_to_tex tac
      ^ pp_punctuation_tactical punct
-  | NTactic (_,None, punct) ->
-     pp_punctuation_tactical punct
   | NonPunctuationTactical (_, tac, punct) ->
      pp_non_punctuation_tactical tac
      ^ pp_punctuation_tactical punct
index b0df46ba33c29789eb4514506759af16d78d2fea..0b87b40be23f2b43f8ee695bf710cc19918f8dcc 100644 (file)
@@ -571,7 +571,24 @@ let eval_tactical status tac =
   status
 
 let add_obj = GrafiteSync.add_obj ~pack_coercion_obj:CicRefine.pack_coercion_obj
-      
+
+let eval_ng_punct (_text, _prefix_len, punct) =
+  match punct with
+  | GrafiteAst.Dot _ -> NTactics.dot_tac 
+  | GrafiteAst.Semicolon _ -> fun x -> x
+  | GrafiteAst.Branch _ -> NTactics.branch_tac 
+  | GrafiteAst.Shift _ -> NTactics.shift_tac 
+  | GrafiteAst.Pos (_,l) -> NTactics.pos_tac l
+  | GrafiteAst.Wildcard _ -> NTactics.wildcard_tac 
+  | GrafiteAst.Merge _ -> NTactics.merge_tac 
+;;
+
+let eval_ng_tac (text, prefix_len, tac) =
+  match tac with
+  | GrafiteAst.NApply (_loc, t) -> NTactics.apply_tac (text,prefix_len,t) 
+  | GrafiteAst.NId _ -> fun x -> x
+;;
+
 let rec eval_command = {ec_go = fun ~disambiguate_command opts status
 (text,prefix_len,cmd) ->
  let status,cmd = disambiguate_command status (text,prefix_len,cmd) in
@@ -672,18 +689,24 @@ let rec eval_command = {ec_go = fun ~disambiguate_command opts status
        | _ -> assert false
      in
      let suri = "cic:/ng_matita/" ^ name ^ ".def" in
+     let nlexicon_status =
+       match status.GrafiteTypes.ng_status with
+       | GrafiteTypes.ProofMode _ -> assert false
+       | GrafiteTypes.CommandMode ls -> ls
+     in
      let nmenv, nsubst, nlexicon_status, nty = 
        GrafiteDisambiguate.disambiguate_nterm None
-       LexiconEngine.initial_status [] [] [] (text,prefix_len,ty)
+       nlexicon_status [] [] [] (text,prefix_len,ty)
      in
      let nmenv, nsubst, nlexicon_status, nbo = 
        GrafiteDisambiguate.disambiguate_nterm (Some nty)
-       LexiconEngine.initial_status [] nmenv nsubst ("",0,CicNotationPt.Implicit)
+       nlexicon_status [] nmenv nsubst ("",0,CicNotationPt.Implicit)
      in
      let ninitial_stack = Continuationals.Stack.of_nmetasenv nmenv in
      prerr_endline ("nuovo lemma: " ^ NCicPp.ppmetasenv ~subst:nsubst nmenv);
      { status with
-        GrafiteTypes.ng_status = Some { NTactics.gstatus = ninitial_stack; 
+        GrafiteTypes.ng_status = 
+           GrafiteTypes.ProofMode { NTactics.gstatus = ninitial_stack; 
           istatus = { 
             NTactics.pstatus = 
              NUri.uri_of_string suri, 0, nmenv, nsubst, 
@@ -782,22 +805,14 @@ let rec eval_command = {ec_go = fun ~disambiguate_command opts status
   | GrafiteAst.Tactic (_, None, punct) ->
       eval_tactical status
        (punctuation_tactical_of_ast (text,prefix_len,punct)),[]
-  | GrafiteAst.NTactic (_(*loc*), Some (GrafiteAst.NApply (_loc, t)), punct) ->
+  | GrafiteAst.NTactic (_(*loc*), tac, punct) ->
       (match  status.GrafiteTypes.ng_status with
-      | None -> assert false
-      | Some status ->
-          let nts = NTactics.apply_tac (text,prefix_len,t) status in
-          prerr_endline "esco da apply";
-          NTactics.pp_tac_status nts;
-    (*
-     let tac = apply_tactic ~disambiguate_tactic (text,prefix_len,tac) in
-     let status = eval_tactical status (tactic_of_ast' tac) in
-      eval_tactical status
-       (punctuation_tactical_of_ast (text,prefix_len,punct)),[]
-     *) assert false)
-  | GrafiteAst.NTactic (_, None, _punct) -> assert false (*
-      eval_tactical status
-       (punctuation_tactical_of_ast (text,prefix_len,punct)),[] *)
+      | GrafiteTypes.CommandMode _ -> assert false
+      | GrafiteTypes.ProofMode nstatus ->
+         let nstatus = eval_ng_tac (text,prefix_len,tac) nstatus in
+         let nstatus = eval_ng_punct (text,prefix_len,punct) nstatus in
+         NTactics.pp_tac_status nstatus;
+         { status with GrafiteTypes.ng_status = GrafiteTypes.ProofMode nstatus }, [])
   | GrafiteAst.NonPunctuationTactical (_, tac, punct) ->
      let status = 
       eval_tactical status
index 3fc67f2fda4f71b9dde3ddfa08c99e7b4f4e0122..5a746f41c8ee727e9346bc7daec2eaaee61f63e0 100644 (file)
@@ -115,14 +115,14 @@ let time_travel ~present ~past =
   CoercDb.restore past.GrafiteTypes.coercions;
 ;;
 
-let initial_status baseuri = {
+let initial_status lexicon_status baseuri = {
     GrafiteTypes.moo_content_rev = [];
     proof_status = GrafiteTypes.No_proof;
     objects = [];
     coercions = CoercDb.empty_coerc_db;
     universe = Universe.empty;
     baseuri = baseuri;
-    ng_status = None;
+    ng_status = GrafiteTypes.CommandMode lexicon_status;
   }
 
 
index be455ea1effc7f54def372b4b2690459ca31a306..d15896dab89823a41c8f9d6ab2fad4d522fdb0e1 100644 (file)
@@ -43,7 +43,7 @@ val time_travel:
 
   (* also resets the imperative part of the status 
    * init: the baseuri of the current script *)
-val init: string -> GrafiteTypes.status
+val init: LexiconEngine.status -> string -> GrafiteTypes.status
 
 (*
   (* just an empty status, does not reset imperative 
index aa90dc0e0194951ae1f87f711ef3c4994b7d7806..83687277965aaa500c390d4fa406efc208045bc2 100644 (file)
@@ -44,6 +44,10 @@ type proof_status =
       (* Status in which the proof could be while it is being processed by the
       * engine. No status entering/exiting the engine could be in it. *)
 
+type ng_status =
+  | ProofMode of NTactics.tac_status
+  | CommandMode of LexiconEngine.status
+
 type status = {
   moo_content_rev: GrafiteMarshal.moo;
   proof_status: proof_status;
@@ -51,7 +55,7 @@ type status = {
   coercions: CoercDb.coerc_db;
   universe:Universe.universe;  
   baseuri: string;
-  ng_status: NTactics.tac_status option;
+  ng_status: ng_status;
 }
 
 let get_current_proof status =
index 3a833f6da056bb029915a80f204234670f8473e3..b159a7fe6b2caf260c3e39256da7672de25d53c6 100644 (file)
@@ -42,14 +42,18 @@ type proof_status =
   | Proof of ProofEngineTypes.proof
   | Intermediate of Cic.metasenv
 
+type ng_status =
+  | ProofMode of NTactics.tac_status
+  | CommandMode of LexiconEngine.status
+
 type status = {
   moo_content_rev: GrafiteMarshal.moo;
-  proof_status: proof_status;                             (** logical status *)
-  objects: UriManager.uri list;  (** in-scope objects *)
+  proof_status: proof_status;
+  objects: UriManager.uri list;
   coercions: CoercDb.coerc_db;
-  universe:Universe.universe;  (** universe of terms used by auto *)
+  universe:Universe.universe;  
   baseuri: string;
-  ng_status: NTactics.tac_status option;
+  ng_status: ng_status;
 }
 
 val dump_status : status -> unit
index 7fbd499680f728714ca305a7b0c50019b265c727..b9c33232e70b61fb00d763594395d848efa7569c 100644 (file)
@@ -744,7 +744,7 @@ EXTEND
         GrafiteAst.Tactic (loc, Some tac, punct)
     | punct = punctuation_tactical -> GrafiteAst.Tactic (loc, None, punct)
     | tac = ntactic; punct = punctuation_tactical ->
-        GrafiteAst.NTactic (loc, Some tac, punct)
+        GrafiteAst.NTactic (loc, tac, punct)
     | tac = non_punctuation_tactical; punct = punctuation_tactical ->
         GrafiteAst.NonPunctuationTactical (loc, tac, punct)
     | mac = macro; SYMBOL "." -> GrafiteAst.Macro (loc, mac)
index 492e5505514bd9ee6561e402e061a7b101a681fa..4ce980b28e60ca2b14b77397ef9415713b62e7ff 100644 (file)
@@ -201,18 +201,30 @@ let fold_tactic tac status =
        { gstatus = stack; istatus = sn }
 ;;
 
+let compare_menv ~past ~present =
+  List.map fst (List.filter (fun (i,_) -> not (List.mem_assoc i past)) present),
+  List.map fst (List.filter (fun (i,_) -> not (List.mem_assoc i present)) past)
+;;
 
 let apply t (status,goal) =
- let _,_,metasenv, subst,_ = status.pstatus in
- let _,context,gty = List.assoc goal metasenv in
+ let uri,height,(metasenv as old_metasenv), subst,obj = status.pstatus in
+ let name,context,gty = List.assoc goal metasenv in
  let metasenv, subst, lexicon_status, t = 
    GrafiteDisambiguate.disambiguate_nterm (Some gty) status.lstatus context metasenv subst t 
  in
+ let subst, metasenv = 
+   (goal, (name, context, t, gty)):: subst,
+   List.filter(fun (x,_) -> x <> goal) metasenv
+ in
+ let open_goals, closed_goals = compare_menv ~past:old_metasenv ~present:metasenv in
+ let new_pstatus = uri,height,metasenv,subst,obj in
+
    prerr_endline ("termine disambiguato: " ^ NCicPp.ppterm ~context ~metasenv ~subst t);
    prerr_endline ("menv:" ^ NCicPp.ppmetasenv ~subst metasenv);
    prerr_endline ("subst:" ^ NCicPp.ppsubst subst ~metasenv);
    prerr_endline "fine napply";
-   { status with lstatus = lexicon_status }, [goal], []
+
+  { lstatus = lexicon_status; pstatus = new_pstatus }, open_goals, closed_goals
 ;;
 
 let apply_tac t = fold_tactic (apply t) ;;
index 9a865597b02879bc45ddc827827155693faef0ee..dfecc3c1346325d67ab4aca0a92d5572953d58b0 100644 (file)
@@ -193,7 +193,7 @@ apply rule (prove (¬(∀x.P x) ⇒ ∃x.¬ P x));
 apply rule (⇒_i [h1] (∃x.¬ P x));
 apply rule (RAA [h2] (⊥));
 apply rule (¬_e (¬(∀x.P x)) (∀x.P x));
-       [ apply rule (discharge [h1]);
+       [ apply rule (discharge [h2]);
        | apply rule (∀_i {y} (P y));
     apply rule (RAA [h3] (⊥));
     apply rule (¬_e (¬∃x.¬ P x) (∃x.¬ P x));
index a5331764e6de5cf5f9586eb7064806c8d0f85aa0..128f33ac359f12ce0ad7477e55adae06cf9d9003 100644 (file)
@@ -63,14 +63,34 @@ let eval_ast ?do_heavy_checks lexicon_status
 =
  let lexicon_status_ref = ref lexicon_status in
  let baseuri = GrafiteTypes.get_baseuri grafite_status in
+ let changed_lexicon = ref false in
+ let wrap f x = changed_lexicon := true; f x in
+ let grafite_status = 
+   match grafite_status.GrafiteTypes.ng_status with
+   | GrafiteTypes.CommandMode _ -> 
+      { grafite_status with GrafiteTypes.ng_status = 
+         GrafiteTypes.CommandMode lexicon_status }
+   | GrafiteTypes.ProofMode s -> 
+      { grafite_status with GrafiteTypes.ng_status = 
+         GrafiteTypes.ProofMode 
+          { s with NTactics.istatus = { s.NTactics.istatus with NTactics.lstatus =  lexicon_status }}}
+ in
  let new_grafite_status,new_objs =
   GrafiteEngine.eval_ast
-   ~disambiguate_tactic:(disambiguate_tactic text prefix_len lexicon_status_ref)
-   ~disambiguate_command:(disambiguate_command lexicon_status_ref)
-   ~disambiguate_macro:(disambiguate_macro lexicon_status_ref)
+   ~disambiguate_tactic:(wrap (disambiguate_tactic text prefix_len lexicon_status_ref))
+   ~disambiguate_command:(wrap (disambiguate_command lexicon_status_ref))
+   ~disambiguate_macro:(wrap (disambiguate_macro lexicon_status_ref))
    ?do_heavy_checks grafite_status (text,prefix_len,ast) in
+ let lexicon_status =
+  if !changed_lexicon then
+   !lexicon_status_ref
+  else
+   match new_grafite_status.GrafiteTypes.ng_status with
+   | GrafiteTypes.CommandMode l -> l
+   | GrafiteTypes.ProofMode s -> s.NTactics.istatus.NTactics.lstatus
+ in
  let new_lexicon_status =
-  LexiconSync.add_aliases_for_objs !lexicon_status_ref new_objs in
+  LexiconSync.add_aliases_for_objs lexicon_status new_objs in
  let new_aliases =
   LexiconSync.alias_diff ~from:lexicon_status new_lexicon_status in
  let _,intermediate_states = 
index 7768e2287f27d5626262c3b6a7f583d2a272e3dc..3ff2d034901f15bbf175e2630dc993d90d3356f8 100644 (file)
@@ -675,7 +675,7 @@ let initial_statuses baseuri =
    CicNotation2.load_notation ~include_paths:[]
      BuildTimeConf.core_notation_script 
  in
- let grafite_status = GrafiteSync.init baseuri in
+ let grafite_status = GrafiteSync.init lexicon_status baseuri in
   grafite_status,lexicon_status
 in
 let read_include_paths file =
index 87e9a44178a47a18b5bad6f9e9b3961e0825e71f..0fa8554ba9856c2dd9644e0132d91a58029334e6 100644 (file)
@@ -207,10 +207,10 @@ let main () =
   let system_mode =  Helm_registry.get_bool "matita.system" in
   let include_paths =
    Helm_registry.get_list Helm_registry.string "matita.includes" in
-  grafite_status := [GrafiteSync.init "cic:/matita/tests/"];
   lexicon_status :=
    [CicNotation2.load_notation ~include_paths
      BuildTimeConf.core_notation_script] ;
+  grafite_status := [GrafiteSync.init (List.hd !lexicon_status) "cic:/matita/tests/"];
   Sys.catch_break true;
   let origcb = HLog.get_log_callback () in
   let origcb t s = origcb t ((if system_mode then "[S] " else "") ^ s) in
index cfec1c5072512ace47dd29b2ef4ef505d48f1959..e793a725b61b3019c81ca31242729ce5c1d5d4f8 100644 (file)
@@ -193,11 +193,11 @@ let compile options fname =
     Librarian.baseuri_of_script ~include_paths fname in
   if Http_getter_storage.is_read_only baseuri then assert false;
   activate_extraction baseuri fname ;
-  let grafite_status = GrafiteSync.init baseuri in
   let lexicon_status = 
     CicNotation2.load_notation ~include_paths:[]
       BuildTimeConf.core_notation_script 
   in
+  let grafite_status = GrafiteSync.init lexicon_status baseuri in
   let big_bang = Unix.gettimeofday () in
   let { Unix.tms_utime = big_bang_u ; Unix.tms_stime = big_bang_s} = 
     Unix.times () 
diff --git a/helm/software/matita/tests/a.ma b/helm/software/matita/tests/a.ma
new file mode 100644 (file)
index 0000000..1061544
--- /dev/null
@@ -0,0 +1,30 @@
+(**************************************************************************)
+(*       ___                                                              *)
+(*      ||M||                                                             *)
+(*      ||A||       A project by Andrea Asperti                           *)
+(*      ||T||                                                             *)
+(*      ||I||       Developers:                                           *)
+(*      ||T||         The HELM team.                                      *)
+(*      ||A||         http://helm.cs.unibo.it                             *)
+(*      \   /                                                             *)
+(*       \ /        This file is distributed under the terms of the       *)
+(*        v         GNU General Public License Version 2                  *)
+(*                                                                        *)
+(**************************************************************************)
+
+axiom A : Prop.
+axiom B : Prop.
+axiom C : Prop.
+axiom a: A.
+axiom b: B.
+
+
+notation "#" non associative with precedence 90 for @{ 'sharp }.
+interpretation "a" 'sharp = a.
+interpretation "b" 'sharp = b. 
+
+ntheorem prova : (A → B → C) → C.
+napply (λH.?);
+napply (H ? ?);
+napply #.
+nqed. 
\ No newline at end of file
index b5507979b35fd72f0b1f9d2678686b84ccbbc94b..77c709c7004ed9d4fc7ff7d4125cb51475fca645 100644 (file)
-apply.ma coq.ma
-tinycals.ma logic/connectives.ma
-first.ma 
-coercions_propagation.ma logic/connectives.ma nat/orders.ma
-inversion2.ma coq.ma
-coercions_nonuniform.ma 
-clearbody.ma coq.ma
-coercions_open.ma logic/equality.ma nat/nat.ma
-compose.ma logic/equality.ma
-overred.ma logic/equality.ma
-hard_refine.ma coq.ma
-second.ma first.ma
-record.ma 
-mysql_escaping.ma 
-decompose.ma logic/connectives.ma
-fold.ma coq.ma
-generalize.ma coq.ma
-comments.ma coq.ma
-constructor.ma coq.ma
-clear.ma coq.ma
-bool.ma coq.ma
-coercions_russell.ma datatypes/bool.ma datatypes/constructors.ma list/list.ma list/sort.ma nat/compare.ma nat/orders.ma
-fix_betareduction.ma coq.ma
-contradiction.ma coq.ma
-test4.ma coq.ma
-multiple_inheritance.ma logic/equality.ma
-apply2.ma nat/nat.ma
-coercions_dependent.ma decidable_kit/list_aux.ma list/list.ma nat/nat.ma
-continuationals.ma coq.ma
-replace.ma coq.ma
-metasenv_ordering.ma coq.ma
-absurd.ma coq.ma
-demodulation_matita.ma nat/minus.ma
-coercions.ma nat/compare.ma nat/times.ma
-simpl.ma coq.ma
-unfold.ma coq.ma
-cut.ma coq.ma
-pullback.ma 
-destruct.ma datatypes/constructors.ma logic/equality.ma nat/nat.ma
-letrecand.ma nat/nat.ma
-bad_induction.ma logic/equality.ma nat/nat.ma
-assumption.ma coq.ma
-test3.ma coq.ma
-naiveparamod.ma logic/equality.ma
-decl.ma nat/orders.ma nat/times.ma
-tacticals.ma 
-applys.ma nat/div_and_mod.ma nat/factorial.ma nat/primes.ma
-match_inference.ma 
-third.ma first.ma second.ma
-letrec.ma 
-coercions_contravariant.ma logic/equality.ma nat/nat.ma
-dependent_type_inference.ma nat/nat.ma
-change.ma coq.ma
-elim.ma coq.ma
-demodulation_coq.ma coq.ma
-test2.ma coq.ma
-coercions_dupelim.ma logic/equality.ma nat/nat.ma
-fguidi.ma coq.ma
-dependent_injection.ma coq.ma
-inversion.ma coq.ma
-paramodulation.ma coq.ma
-rewrite.ma coq.ma
-injection.ma coq.ma
-paramodulation/BOO075-1.ma 
-paramodulation/boolean_algebra.ma coq.ma
-paramodulation/group.ma coq.ma
-paramodulation/irratsqrt2.ma nat/minus.ma nat/times.ma
-TPTP/Veloci/GRP456-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP168-2.p.ma logic/equality.ma
-TPTP/Veloci/GRP547-1.p.ma logic/equality.ma
-TPTP/Veloci/LDA007-3.p.ma logic/equality.ma
-TPTP/Veloci/GRP188-2.p.ma logic/equality.ma
-TPTP/Veloci/GRP486-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP567-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP496-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP577-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP597-1.p.ma logic/equality.ma
-TPTP/Veloci/COL010-1.p.ma logic/equality.ma
-TPTP/Veloci/LCL141-1.p.ma logic/equality.ma
-TPTP/Veloci/COL050-1.p.ma logic/equality.ma
-TPTP/Veloci/LCL161-1.p.ma logic/equality.ma
-TPTP/Veloci/ROB010-1.p.ma logic/equality.ma
-TPTP/Veloci/BOO011-4.p.ma logic/equality.ma
+TPTP/Veloci/GRP570-1.p.ma logic/equality.ma
+TPTP/Veloci/GRP595-1.p.ma logic/equality.ma
+dependent_guarded_bove_capretta.ma nat/nat.ma
+interactive/test5.ma 
 TPTP/Veloci/SYN083-1.p.ma logic/equality.ma
 TPTP/Veloci/COL008-1.p.ma logic/equality.ma
-TPTP/Veloci/ROB030-1.p.ma logic/equality.ma
-TPTP/Veloci/COL018-1.p.ma logic/equality.ma
-TPTP/Veloci/COL062-3.p.ma logic/equality.ma
-TPTP/Veloci/LCL139-1.p.ma logic/equality.ma
-TPTP/Veloci/BOO017-2.p.ma logic/equality.ma
-TPTP/Veloci/COL048-1.p.ma logic/equality.ma
-TPTP/Veloci/BOO009-4.p.ma logic/equality.ma
-TPTP/Veloci/COL064-5.p.ma logic/equality.ma
-TPTP/Veloci/GRP010-4.p.ma logic/equality.ma
-TPTP/Veloci/GRP142-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP152-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP162-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP182-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP192-1.p.ma logic/equality.ma
+TPTP/Veloci/GRP604-1.p.ma logic/equality.ma
+record.ma 
 TPTP/Veloci/GRP516-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP455-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP546-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP556-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP485-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP566-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP495-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP576-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP586-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP596-1.p.ma logic/equality.ma
-TPTP/Veloci/LCL140-1.p.ma logic/equality.ma
-TPTP/Veloci/BOO001-1.p.ma logic/equality.ma
-TPTP/Veloci/LCL115-2.p.ma logic/equality.ma
-TPTP/Veloci/BOO010-4.p.ma logic/equality.ma
-TPTP/Veloci/COL007-1.p.ma logic/equality.ma
-TPTP/Veloci/COL017-1.p.ma logic/equality.ma
-TPTP/Veloci/BOO006-2.p.ma logic/equality.ma
-TPTP/Veloci/COL061-3.p.ma logic/equality.ma
-TPTP/Veloci/BOO071-1.p.ma logic/equality.ma
-TPTP/Veloci/BOO016-2.p.ma logic/equality.ma
-TPTP/Veloci/COL064-2.p.ma logic/equality.ma
-TPTP/Veloci/LCL158-1.p.ma logic/equality.ma
-TPTP/Veloci/COL063-5.p.ma logic/equality.ma
-TPTP/Veloci/BOO018-4.p.ma logic/equality.ma
-TPTP/Veloci/LAT039-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP141-1.p.ma logic/equality.ma
-TPTP/Veloci/BOO069-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP151-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP161-1.p.ma logic/equality.ma
-TPTP/Veloci/RNG024-7.p.ma logic/equality.ma
-TPTP/Veloci/GRP515-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP606-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP454-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP139-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP616-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP149-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP545-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP176-2.p.ma logic/equality.ma
-TPTP/Veloci/GRP159-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP484-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP565-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP494-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP189-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP595-1.p.ma logic/equality.ma
-TPTP/Veloci/LCL114-2.p.ma logic/equality.ma
-TPTP/Veloci/COL016-1.p.ma logic/equality.ma
-TPTP/Veloci/LAT040-1.p.ma logic/equality.ma
-TPTP/Veloci/BOO005-2.p.ma logic/equality.ma
 TPTP/Veloci/COL060-3.p.ma logic/equality.ma
-TPTP/Veloci/COL063-2.p.ma logic/equality.ma
+TPTP/Veloci/COL016-1.p.ma logic/equality.ma
+TPTP/Veloci/GRP612-1.p.ma logic/equality.ma
+TPTP/Veloci/COL024-1.p.ma logic/equality.ma
+TPTP/Veloci/GRP139-1.p.ma logic/equality.ma
+TPTP/Veloci/BOO006-2.p.ma logic/equality.ma
+TPTP/Veloci/ROB010-1.p.ma logic/equality.ma
 TPTP/Veloci/LCL157-1.p.ma logic/equality.ma
-TPTP/Veloci/LAT008-1.p.ma logic/equality.ma
-TPTP/Veloci/COL086-1.p.ma logic/equality.ma
-TPTP/Veloci/COL058-3.p.ma logic/equality.ma
-TPTP/Veloci/RNG011-5.p.ma logic/equality.ma
-TPTP/Veloci/COL064-7.p.ma logic/equality.ma
-TPTP/Veloci/GRP150-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP160-1.p.ma logic/equality.ma
-TPTP/Veloci/RNG023-7.p.ma logic/equality.ma
-TPTP/Veloci/GRP118-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP514-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP605-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP615-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP182-3.p.ma logic/equality.ma
-TPTP/Veloci/GRP463-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP544-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP158-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP168-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP564-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP493-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP574-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP188-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP584-1.p.ma logic/equality.ma
-TPTP/Veloci/LCL113-2.p.ma logic/equality.ma
-TPTP/Veloci/COL015-1.p.ma logic/equality.ma
-TPTP/Veloci/BOO004-2.p.ma logic/equality.ma
-TPTP/Veloci/COL025-1.p.ma logic/equality.ma
-TPTP/Veloci/COL045-1.p.ma logic/equality.ma
-TPTP/Veloci/COL062-2.p.ma logic/equality.ma
-TPTP/Veloci/LCL156-1.p.ma logic/equality.ma
-TPTP/Veloci/BOO006-4.p.ma logic/equality.ma
-TPTP/Veloci/COL085-1.p.ma logic/equality.ma
-TPTP/Veloci/COL064-4.p.ma logic/equality.ma
-TPTP/Veloci/GRP023-2.p.ma logic/equality.ma
-TPTP/Veloci/GRP117-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP513-1.p.ma logic/equality.ma
-TPTP/Veloci/LDA001-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP604-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP137-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP614-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP543-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP157-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP492-1.p.ma logic/equality.ma
+TPTP/Veloci/LCL132-1.p.ma logic/equality.ma
+constructor.ma coq.ma
+TPTP/Veloci/GRP565-1.p.ma logic/equality.ma
+elim.ma coq.ma
+TPTP/Veloci/GRP155-1.p.ma logic/equality.ma
+TPTP/Veloci/BOO004-4.p.ma logic/equality.ma
+TPTP/Veloci/LCL140-1.p.ma logic/equality.ma
+TPTP/Veloci/GRP598-1.p.ma logic/equality.ma
 TPTP/Veloci/GRP573-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP583-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP186-4.p.ma logic/equality.ma
+TPTP/Veloci/GRP485-1.p.ma logic/equality.ma
+TPTP/Veloci/GRP460-1.p.ma logic/equality.ma
+TPTP/Veloci/GRP188-1.p.ma logic/equality.ma
+TPTP/Veloci/GRP163-1.p.ma logic/equality.ma
+TPTP/Veloci/BOO012-4.p.ma logic/equality.ma
+TPTP/Veloci/GRP581-1.p.ma logic/equality.ma
+TPTP/Veloci/GRP493-1.p.ma logic/equality.ma
+TPTP/Veloci/COL063-3.p.ma logic/equality.ma
 TPTP/Veloci/LCL112-2.p.ma logic/equality.ma
-TPTP/Veloci/COL014-1.p.ma logic/equality.ma
-TPTP/Veloci/BOO003-2.p.ma logic/equality.ma
-TPTP/Veloci/COL024-1.p.ma logic/equality.ma
+formal_topology.ma logic/connectives.ma
+TPTP/Veloci/RNG023-7.p.ma logic/equality.ma
+replace.ma coq.ma
+test2.ma coq.ma
+TPTP/Veloci/COL064-7.p.ma logic/equality.ma
+TPTP/Veloci/BOO009-2.p.ma logic/equality.ma
+TPTP/Veloci/GRP510-1.p.ma logic/equality.ma
+TPTP/Veloci/COL010-1.p.ma logic/equality.ma
+TPTP/Veloci/BOO017-2.p.ma logic/equality.ma
 TPTP/Veloci/LCL135-1.p.ma logic/equality.ma
-TPTP/Veloci/BOO013-2.p.ma logic/equality.ma
 TPTP/Veloci/COL061-2.p.ma logic/equality.ma
-TPTP/Veloci/LCL155-1.p.ma logic/equality.ma
-TPTP/Veloci/BOO005-4.p.ma logic/equality.ma
+elim_pattern.ma nat/plus.ma
+assumption.ma coq.ma
+interactive/grafite.ma 
+TPTP/Veloci/GRP551-1.p.ma logic/equality.ma
+TPTP/Veloci/GRP463-1.p.ma logic/equality.ma
+TPTP/Veloci/GRP141-1.p.ma logic/equality.ma
+fix_betareduction.ma coq.ma
+TPTP/Veloci/GRP606-1.p.ma logic/equality.ma
+coercions_dependent.ma decidable_kit/list_aux.ma list/list.ma nat/nat.ma
+TPTP/Veloci/GRP584-1.p.ma logic/equality.ma
+TPTP/Veloci/GRP518-1.p.ma logic/equality.ma
+paramodulation/boolean_algebra.ma coq.ma
+TPTP/Veloci/GRP496-1.p.ma logic/equality.ma
 TPTP/Veloci/COL084-1.p.ma logic/equality.ma
-TPTP/Veloci/COL063-4.p.ma logic/equality.ma
-TPTP/Veloci/GRP022-2.p.ma logic/equality.ma
-TPTP/Veloci/COL064-9.p.ma logic/equality.ma
+TPTP/Veloci/GRP174-1.p.ma logic/equality.ma
+TPTP/Veloci/GRP614-1.p.ma logic/equality.ma
+TPTP/Veloci/RNG011-5.p.ma logic/equality.ma
+inversion.ma coq.ma
+TPTP/Veloci/GRP592-1.p.ma logic/equality.ma
+bad_tests/baseuri.ma 
+TPTP/Veloci/GRP182-1.p.ma logic/equality.ma
 TPTP/Veloci/GRP116-1.p.ma logic/equality.ma
+coercions.ma nat/compare.ma nat/times.ma
+TPTP/Veloci/GRP011-4.p.ma logic/equality.ma
+TPTP/Veloci/GRP149-1.p.ma logic/equality.ma
+TPTP/Veloci/COL013-1.p.ma logic/equality.ma
+TPTP/Veloci/COL064-2.p.ma logic/equality.ma
+TPTP/Veloci/GRP567-1.p.ma logic/equality.ma
+comments.ma coq.ma
+TPTP/Veloci/COL021-1.p.ma logic/equality.ma
+TPTP/Veloci/BOO006-4.p.ma logic/equality.ma
+TPTP/Veloci/BOO003-2.p.ma logic/equality.ma
+TPTP/Veloci/RNG024-6.p.ma logic/equality.ma
+bool.ma coq.ma
+TPTP/Veloci/BOO011-2.p.ma logic/equality.ma
+TPTP/Veloci/LCL154-1.p.ma logic/equality.ma
+TPTP/Veloci/LCL114-2.p.ma logic/equality.ma
+letrec.ma 
+TPTP/Veloci/BOO001-1.p.ma logic/equality.ma
+TPTP/Veloci/GRP160-1.p.ma logic/equality.ma
+TPTP/Veloci/GRP600-1.p.ma logic/equality.ma
+TPTP/Veloci/COL063-5.p.ma logic/equality.ma
 TPTP/Veloci/GRP512-1.p.ma logic/equality.ma
+continuationals.ma coq.ma
+TPTP/Veloci/GRP490-1.p.ma logic/equality.ma
+TPTP/Veloci/BOO034-1.p.ma logic/equality.ma
+fold.ma coq.ma
+TPTP/Veloci/GRP545-1.p.ma logic/equality.ma
+TPTP/Veloci/GRP520-1.p.ma logic/equality.ma
+a.ma 
+TPTP/Veloci/GRP457-1.p.ma logic/equality.ma
+TPTP/Veloci/COL064-9.p.ma logic/equality.ma
+TPTP/Veloci/BOO009-4.p.ma logic/equality.ma
+TPTP/Veloci/LAT040-1.p.ma logic/equality.ma
+TPTP/Veloci/GRP578-1.p.ma logic/equality.ma
+change.ma coq.ma
+TPTP/Veloci/GRP168-1.p.ma logic/equality.ma
+TPTP/Veloci/BOO075-1.p.ma logic/equality.ma
+TPTP/Veloci/GRP143-1.p.ma logic/equality.ma
+TPTP/Veloci/GRP586-1.p.ma logic/equality.ma
+TPTP/Veloci/GRP561-1.p.ma logic/equality.ma
+TPTP/Veloci/GRP498-1.p.ma logic/equality.ma
+TPTP/Veloci/GRP176-1.p.ma logic/equality.ma
+overred.ma logic/equality.ma
+TPTP/Veloci/COL007-1.p.ma logic/equality.ma
 TPTP/Veloci/GRP603-1.p.ma logic/equality.ma
-TPTP/Veloci/RNG024-6.p.ma logic/equality.ma
-TPTP/Veloci/GRP136-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP613-1.p.ma logic/equality.ma
+TPTP/Veloci/COL058-2.p.ma logic/equality.ma
+TPTP/Veloci/GRP515-1.p.ma logic/equality.ma
+TPTP/Veloci/COL015-1.p.ma logic/equality.ma
+TPTP/Veloci/RNG007-4.p.ma logic/equality.ma
+TPTP/Veloci/GRP548-1.p.ma logic/equality.ma
+TPTP/Veloci/GRP182-3.p.ma logic/equality.ma
+TPTP/Veloci/COL048-1.p.ma logic/equality.ma
+TPTP/Veloci/BOO005-2.p.ma logic/equality.ma
+TPTP/Veloci/GRP189-2.p.ma logic/equality.ma
+TPTP/Veloci/GRP556-1.p.ma logic/equality.ma
 TPTP/Veloci/GRP146-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP542-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP156-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP552-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP481-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP562-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP176-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP491-1.p.ma logic/equality.ma
+TPTP/Veloci/COL064-4.p.ma logic/equality.ma
+TPTP/Veloci/LCL156-1.p.ma logic/equality.ma
+contradiction.ma coq.ma
+TPTP/Veloci/GRP564-1.p.ma logic/equality.ma
+inversion2.ma coq.ma
+TPTP/Veloci/GRP154-1.p.ma logic/equality.ma
+TPTP/Veloci/ROB009-1.p.ma logic/equality.ma
+TPTP/Veloci/LCL164-1.p.ma logic/equality.ma
+TPTP/Veloci/BOO003-4.p.ma logic/equality.ma
+TPTP/Veloci/GRP597-1.p.ma logic/equality.ma
 TPTP/Veloci/GRP572-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP582-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP592-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP459-1.p.ma logic/equality.ma
-TPTP/Veloci/COL013-1.p.ma logic/equality.ma
+TPTP/Veloci/GRP484-1.p.ma logic/equality.ma
+TPTP/Veloci/GRP162-1.p.ma logic/equality.ma
+fix_che_non_passa_ma_dovrebbe.ma list/list.ma nat/nat.ma
+TPTP/Veloci/BOO011-4.p.ma logic/equality.ma
+TPTP/Veloci/GRP580-1.p.ma logic/equality.ma
+TPTP/Veloci/COL062-3.p.ma logic/equality.ma
+TPTP/Veloci/GRP492-1.p.ma logic/equality.ma
+cut.ma coq.ma
+TPTP/Veloci/LAT034-1.p.ma logic/equality.ma
+TPTP/Veloci/COL018-1.p.ma logic/equality.ma
+tinycals.ma logic/connectives.ma
+coercions_contravariant.ma logic/equality.ma nat/nat.ma
+interactive/automatic_insertion.ma 
+clearbody.ma coq.ma
 TPTP/Veloci/LCL134-1.p.ma logic/equality.ma
-TPTP/Veloci/BOO012-2.p.ma logic/equality.ma
 TPTP/Veloci/COL060-2.p.ma logic/equality.ma
-TPTP/Veloci/LCL154-1.p.ma logic/equality.ma
-TPTP/Veloci/LCL164-1.p.ma logic/equality.ma
-TPTP/Veloci/BOO004-4.p.ma logic/equality.ma
-TPTP/Veloci/ROB013-1.p.ma logic/equality.ma
+TPTP/Veloci/BOO016-2.p.ma logic/equality.ma
+TPTP/Veloci/LAT039-2.p.ma logic/equality.ma
+TPTP/Veloci/GRP542-1.p.ma logic/equality.ma
+TPTP/Veloci/GRP186-4.p.ma logic/equality.ma
+TPTP/Veloci/GRP454-1.p.ma logic/equality.ma
+TPTP/Veloci/GRP157-1.p.ma logic/equality.ma
+TPTP/Veloci/GRP509-1.p.ma logic/equality.ma
+TPTP/Veloci/GRP550-1.p.ma logic/equality.ma
+TPTP/Veloci/GRP487-1.p.ma logic/equality.ma
+paramodulation/BOO075-1.ma 
+TPTP/Veloci/GRP605-1.p.ma logic/equality.ma
+fguidi.ma logic/connectives.ma nat/nat.ma
+TPTP/Veloci/GRP583-1.p.ma logic/equality.ma
+TPTP/Veloci/GRP517-1.p.ma logic/equality.ma
+TPTP/Veloci/GRP173-1.p.ma logic/equality.ma
+TPTP/Veloci/GRP495-1.p.ma logic/equality.ma
 TPTP/Veloci/COL083-1.p.ma logic/equality.ma
+coercions_propagation.ma logic/connectives.ma nat/orders.ma
 TPTP/Veloci/LAT045-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP001-2.p.ma logic/equality.ma
-TPTP/Veloci/BOO075-1.p.ma logic/equality.ma
-TPTP/Veloci/COL058-2.p.ma logic/equality.ma
+TPTP/Veloci/GRP558-1.p.ma logic/equality.ma
+TPTP/Veloci/GRP010-4.p.ma logic/equality.ma
+interactive/test_instance.ma 
+TPTP/Veloci/COL012-1.p.ma logic/equality.ma
+TPTP/Veloci/COL063-2.p.ma logic/equality.ma
+first.ma 
+TPTP/Veloci/COL045-1.p.ma logic/equality.ma
+TPTP/Veloci/BOO005-4.p.ma logic/equality.ma
+interactive/test7.ma 
+bad_induction.ma logic/equality.ma nat/nat.ma
+TPTP/Veloci/RNG023-6.p.ma logic/equality.ma
+color.ma logic/equality.ma nat/nat.ma
 TPTP/Veloci/COL064-6.p.ma logic/equality.ma
-TPTP/Veloci/GRP115-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP511-1.p.ma logic/equality.ma
+metasenv_ordering.ma coq.ma
+apply2.ma nat/nat.ma
+TPTP/Veloci/GRP608-1.p.ma logic/equality.ma
+TPTP/Veloci/BOO010-2.p.ma logic/equality.ma
+TPTP/Veloci/LCL153-1.p.ma logic/equality.ma
+pullback.ma logic/equality.ma
+TPTP/Veloci/COL086-1.p.ma logic/equality.ma
+TPTP/Veloci/GRP151-1.p.ma logic/equality.ma
+TPTP/Veloci/GRP616-1.p.ma logic/equality.ma
+TPTP/Veloci/LCL161-1.p.ma logic/equality.ma
+TPTP/Veloci/GRP023-2.p.ma logic/equality.ma
 TPTP/Veloci/GRP206-1.p.ma logic/equality.ma
+decompose.ma logic/connectives.ma
+TPTP/Veloci/GRP481-1.p.ma logic/equality.ma
+TPTP/Veloci/GRP118-1.p.ma logic/equality.ma
+generalize.ma coq.ma
+TPTP/Veloci/GRP511-1.p.ma logic/equality.ma
+TPTP/Veloci/GRP192-1.p.ma logic/equality.ma
+TPTP/Veloci/GRP569-1.p.ma logic/equality.ma
+TPTP/Veloci/GRP544-1.p.ma logic/equality.ma
+dependent_type_inference.ma nat/nat.ma
+TPTP/Veloci/GRP456-1.p.ma logic/equality.ma
+TPTP/Veloci/GRP159-1.p.ma logic/equality.ma
+TPTP/Veloci/ROB030-1.p.ma logic/equality.ma
+TPTP/Veloci/GRP552-1.p.ma logic/equality.ma
+TPTP/Veloci/GRP577-1.p.ma logic/equality.ma
+TPTP/Veloci/BOO013-2.p.ma logic/equality.ma
+rewrite.ma coq.ma
+bad_tests/auto.ma coq.ma
+TPTP/Veloci/GRP497-1.p.ma logic/equality.ma
+diabolic_fix.ma nat/nat.ma
+TPTP/Veloci/GRP001-2.p.ma logic/equality.ma
+test4.ma coq.ma
+clear.ma coq.ma
 TPTP/Veloci/GRP602-1.p.ma logic/equality.ma
-TPTP/Veloci/RNG023-6.p.ma logic/equality.ma
-TPTP/Veloci/GRP612-1.p.ma logic/equality.ma
+TPTP/Veloci/GRP514-1.p.ma logic/equality.ma
+TPTP/Veloci/LCL139-1.p.ma logic/equality.ma
+TPTP/Veloci/GRP547-1.p.ma logic/equality.ma
+TPTP/Veloci/GRP137-1.p.ma logic/equality.ma
+TPTP/Veloci/GRP459-1.p.ma logic/equality.ma
+TPTP/Veloci/BOO069-1.p.ma logic/equality.ma
+TPTP/Veloci/COL004-3.p.ma logic/equality.ma
+TPTP/Veloci/GRP188-2.p.ma logic/equality.ma
+apply.ma coq.ma
+TPTP/Veloci/GRP467-1.p.ma logic/equality.ma
 TPTP/Veloci/GRP145-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP460-1.p.ma logic/equality.ma
+TPTP/Veloci/LCL155-1.p.ma logic/equality.ma
+TPTP/Veloci/COL063-4.p.ma logic/equality.ma
+TPTP/Veloci/GRP588-1.p.ma logic/equality.ma
+TPTP/Veloci/GRP153-1.p.ma logic/equality.ma
+paramodulation.ma coq.ma
+TPTP/Veloci/GRP596-1.p.ma logic/equality.ma
+coercions_nonuniform.ma 
+TPTP/Veloci/GRP161-1.p.ma logic/equality.ma
+TPTP/Veloci/COL064-8.p.ma logic/equality.ma
+TPTP/Veloci/LDA001-1.p.ma logic/equality.ma
+TPTP/Veloci/COL050-1.p.ma logic/equality.ma
+TPTP/Veloci/BOO010-4.p.ma logic/equality.ma
+TPTP/Veloci/LCL110-2.p.ma logic/equality.ma
+TPTP/Veloci/GRP491-1.p.ma logic/equality.ma
+TPTP/Veloci/COL061-3.p.ma logic/equality.ma
+TPTP/Veloci/COL017-1.p.ma logic/equality.ma
+TPTP/Veloci/GRP613-1.p.ma logic/equality.ma
+compose.ma logic/equality.ma
+TPTP/Veloci/COL025-1.p.ma logic/equality.ma
+TPTP/Veloci/GRP115-1.p.ma logic/equality.ma
+unifhint.ma list/list.ma nat/nat.ma nat/plus.ma
+hard_refine.ma coq.ma
+letrecand.ma nat/nat.ma
+paramodulation/group.ma coq.ma
+TPTP/Veloci/LCL158-1.p.ma logic/equality.ma
+TPTP/Veloci/LCL133-1.p.ma logic/equality.ma
+TPTP/Veloci/GRP566-1.p.ma logic/equality.ma
 TPTP/Veloci/GRP541-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP155-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP551-1.p.ma logic/equality.ma
+decl.ma nat/orders.ma nat/times.ma
+TPTP/Veloci/GRP156-1.p.ma logic/equality.ma
+universe_inconsistency.ma 
+mysql_escaping.ma 
+TPTP/Veloci/LCL141-1.p.ma logic/equality.ma
 TPTP/Veloci/GRP182-2.p.ma logic/equality.ma
-TPTP/Veloci/GRP561-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP490-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP509-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP581-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP458-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP549-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP488-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP569-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP498-1.p.ma logic/equality.ma
-TPTP/Veloci/LCL110-2.p.ma logic/equality.ma
+interactive/drop.ma 
+interactive/test6.ma 
 TPTP/Veloci/GRP599-1.p.ma logic/equality.ma
-TPTP/Veloci/COL012-1.p.ma logic/equality.ma
-TPTP/Veloci/COL022-1.p.ma logic/equality.ma
-TPTP/Veloci/LCL133-1.p.ma logic/equality.ma
-TPTP/Veloci/BOO011-2.p.ma logic/equality.ma
-TPTP/Veloci/COL004-3.p.ma logic/equality.ma
-TPTP/Veloci/LCL153-1.p.ma logic/equality.ma
-TPTP/Veloci/ROB002-1.p.ma logic/equality.ma
-TPTP/Veloci/BOO003-4.p.ma logic/equality.ma
-TPTP/Veloci/BOO034-1.p.ma logic/equality.ma
+TPTP/Veloci/GRP574-1.p.ma logic/equality.ma
+TPTP/Veloci/LDA007-3.p.ma logic/equality.ma
+unfold.ma coq.ma
+TPTP/Veloci/GRP189-1.p.ma logic/equality.ma
+TPTP/Veloci/GRP486-1.p.ma logic/equality.ma
+TPTP/Veloci/BOO071-1.p.ma logic/equality.ma
 TPTP/Veloci/BOO013-4.p.ma logic/equality.ma
-TPTP/Veloci/LAT034-1.p.ma logic/equality.ma
-TPTP/Veloci/BOO009-2.p.ma logic/equality.ma
+TPTP/Veloci/GRP582-1.p.ma logic/equality.ma
+TPTP/Veloci/GRP494-1.p.ma logic/equality.ma
 TPTP/Veloci/COL064-3.p.ma logic/equality.ma
-TPTP/Veloci/COL063-6.p.ma logic/equality.ma
-TPTP/Veloci/LAT039-2.p.ma logic/equality.ma
-TPTP/Veloci/GRP012-4.p.ma logic/equality.ma
-TPTP/Veloci/GRP510-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP520-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP144-1.p.ma logic/equality.ma
+TPTP/Veloci/LCL113-2.p.ma logic/equality.ma
 TPTP/Veloci/RNG008-4.p.ma logic/equality.ma
-TPTP/Veloci/GRP154-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP550-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP560-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP174-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP570-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP580-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP518-1.p.ma logic/equality.ma
+demodulation_matita.ma nat/minus.ma
+TPTP/Veloci/ROB002-1.p.ma logic/equality.ma
+tacticals.ma 
+TPTP/Veloci/GRP001-4.p.ma logic/equality.ma
 TPTP/Veloci/GRP590-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP457-1.p.ma logic/equality.ma
+TPTP/Veloci/GRP549-1.p.ma logic/equality.ma
+applys.ma nat/div_and_mod.ma nat/factorial.ma nat/primes.ma
+TPTP/Veloci/RNG024-7.p.ma logic/equality.ma
+injection.ma coq.ma
+second.ma first.ma
+TPTP/Veloci/COL062-2.p.ma logic/equality.ma
+match_inference.ma 
+unifhint_simple.ma logic/equality.ma
+simpl.ma coq.ma
+TPTP/Veloci/COL063-6.p.ma logic/equality.ma
+TPTP/Veloci/GRP142-1.p.ma logic/equality.ma
+third.ma first.ma second.ma
+TPTP/Veloci/GRP560-1.p.ma logic/equality.ma
+TPTP/Veloci/GRP150-1.p.ma logic/equality.ma
+TPTP/Veloci/COL085-1.p.ma logic/equality.ma
+TPTP/Veloci/GRP615-1.p.ma logic/equality.ma
+TPTP/Veloci/LAT039-1.p.ma logic/equality.ma
+luo.ma Z/times.ma logic/equality.ma
+TPTP/Veloci/GRP022-2.p.ma logic/equality.ma
 TPTP/Veloci/GRP186-3.p.ma logic/equality.ma
-TPTP/Veloci/GRP467-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP548-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP558-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP189-2.p.ma logic/equality.ma
-TPTP/Veloci/GRP487-1.p.ma logic/equality.ma
+coercions_russell.ma datatypes/bool.ma datatypes/constructors.ma list/list.ma list/sort.ma nat/compare.ma nat/orders.ma
+TPTP/Veloci/GRP117-1.p.ma logic/equality.ma
+multiple_inheritance.ma logic/equality.ma
+test3.ma coq.ma
+TPTP/Veloci/ROB013-1.p.ma logic/equality.ma
+TPTP/Veloci/GRP168-2.p.ma logic/equality.ma
+TPTP/Veloci/GRP012-4.p.ma logic/equality.ma
+naiveparamod.ma logic/equality.ma
+TPTP/Veloci/GRP176-2.p.ma logic/equality.ma
+TPTP/Veloci/COL014-1.p.ma logic/equality.ma
 TPTP/Veloci/GRP568-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP497-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP578-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP588-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP598-1.p.ma logic/equality.ma
-TPTP/Veloci/COL021-1.p.ma logic/equality.ma
-TPTP/Veloci/LCL132-1.p.ma logic/equality.ma
-TPTP/Veloci/BOO010-2.p.ma logic/equality.ma
-TPTP/Veloci/BOO012-4.p.ma logic/equality.ma
-TPTP/Veloci/LAT033-1.p.ma logic/equality.ma
-TPTP/Veloci/COL063-3.p.ma logic/equality.ma
-TPTP/Veloci/ROB009-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP001-4.p.ma logic/equality.ma
-TPTP/Veloci/GRP011-4.p.ma logic/equality.ma
-TPTP/Veloci/COL064-8.p.ma logic/equality.ma
-TPTP/Veloci/GRP600-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP143-1.p.ma logic/equality.ma
-TPTP/Veloci/RNG007-4.p.ma logic/equality.ma
-TPTP/Veloci/GRP153-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP163-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP173-1.p.ma logic/equality.ma
-TPTP/Veloci/GRP517-1.p.ma logic/equality.ma
+TPTP/Veloci/GRP543-1.p.ma logic/equality.ma
+TPTP/Veloci/GRP455-1.p.ma logic/equality.ma
+TPTP/Veloci/GRP158-1.p.ma logic/equality.ma
+TPTP/Veloci/COL022-1.p.ma logic/equality.ma
+TPTP/Veloci/GRP576-1.p.ma logic/equality.ma
+TPTP/Veloci/BOO004-2.p.ma logic/equality.ma
+TPTP/Veloci/GRP488-1.p.ma logic/equality.ma
+TPTP/Veloci/COL058-3.p.ma logic/equality.ma
+dependent_injection.ma coq.ma
+TPTP/Veloci/BOO012-2.p.ma logic/equality.ma
+TPTP/Veloci/LCL115-2.p.ma logic/equality.ma
+absurd.ma coq.ma
 TPTP/Veloci/GRP182-4.p.ma logic/equality.ma
-TPTP/Veloci/GRP608-1.p.ma logic/equality.ma
-interactive/test_instance.ma 
-interactive/drop.ma 
-interactive/test5.ma 
-interactive/test6.ma 
-interactive/test7.ma 
-interactive/automatic_insertion.ma 
-interactive/grafite.ma 
-bad_tests/auto.ma coq.ma
-bad_tests/baseuri.ma 
+destruct.ma datatypes/constructors.ma logic/equality.ma nat/nat.ma
+TPTP/Veloci/COL064-5.p.ma logic/equality.ma
+TPTP/Veloci/GRP513-1.p.ma logic/equality.ma
+TPTP/Veloci/LAT033-1.p.ma logic/equality.ma
+TPTP/Veloci/GRP546-1.p.ma logic/equality.ma
+TPTP/Veloci/GRP136-1.p.ma logic/equality.ma
+TPTP/Veloci/GRP458-1.p.ma logic/equality.ma
+coercions_open.ma logic/equality.ma nat/nat.ma
+paramodulation/irratsqrt2.ma nat/minus.ma nat/times.ma
+TPTP/Veloci/GRP144-1.p.ma logic/equality.ma
+TPTP/Veloci/BOO018-4.p.ma logic/equality.ma
+TPTP/Veloci/LAT008-1.p.ma logic/equality.ma
+demodulation_coq.ma coq.ma
+TPTP/Veloci/GRP562-1.p.ma logic/equality.ma
+TPTP/Veloci/GRP152-1.p.ma logic/equality.ma
+Z/times.ma 
 coq.ma 
 datatypes/bool.ma 
 datatypes/constructors.ma 
@@ -343,5 +354,6 @@ nat/factorial.ma
 nat/minus.ma 
 nat/nat.ma 
 nat/orders.ma 
+nat/plus.ma 
 nat/primes.ma 
 nat/times.ma 
index 42e9f687888ffd12ddf5cb9bdded6af59a35963d..310512b5a73003a332c028582837ed67e4cc95d9 100644 (file)
@@ -88,6 +88,18 @@ unification hint 0 (∀g:group.∀G:list (gcarr g).∀x.
       〚x,G〛 = V).
 *)
 
+include "nat/plus.ma".
+unification hint 0 (∀x,y.S x + y = S (x + y)).
+
+axiom T : nat → Prop.
+axiom F : ∀n,k.T (S (n + k)) → Prop. 
+lemma diverge: ∀k,k1.∀h:T (? + k).F ? k1 h. 
+    ?+k    = S(?+k1)
+    S?1 + k   S(?1+k1)
+    
+lemma test : ∀g:group.∀x,y:gcarr g. ∀h:P ? ((𝟙 * x) * (x^-1 * y)). 
+   start g ? ? h.
+
 lemma test : ∀g:group.∀x,y:gcarr g. ∀h:P ? ((𝟙 * x) * (x^-1 * y)). 
    start g ? ? h.