+++ /dev/null
-(**************************************************************************)
-(* ___ *)
-(* ||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 *)
-(* *)
-(**************************************************************************)
-
-include "ground/notation/relations/predicate_f_1.ma".
-include "ground/relocation/gr_fcla.ma".
-
-(* FINITE COLENGTH CONDITION FOR GENERIC RELOCATION MAPS ********************)
-
-(*** isfin *)
-definition gr_isf: predicate gr_map ā
- Ī»f. ān. šāŖfā« ā n.
-
-interpretation
- "finite colength condition (generic relocation maps)"
- 'PredicateF f = (gr_isf f).
-
-(* Basic eliminations *******************************************************)
-
-(*** isfin_ind *)
-lemma gr_isf_ind (Q:predicate ā¦):
- (āf. šāŖfā« ā Q f) ā
- (āf. š
āŖfā« ā Q f ā Q (ā«Æf)) ā
- (āf. š
āŖfā« ā Q f ā Q (āf)) ā
- āf. š
āŖfā« ā Q f.
-#Q #IH1 #IH2 #IH3 #f #H elim H -H
-#n #H elim H -f -n /3 width=2 by ex_intro/
-qed-.
-
-(* Basic inversions *********************************************************)
-
-(*** isfin_inv_push *)
-lemma gr_isf_inv_push (g): š
āŖgā« ā āf. ā«Æf = g ā š
āŖfā«.
-#g * /3 width=4 by gr_fcla_inv_push, ex_intro/
-qed-.
-
-(*** isfin_inv_next *)
-lemma gr_isf_inv_next (g): š
āŖgā« ā āf. āf = g ā š
āŖfā«.
-#g * #n #H #f #H0 elim (gr_fcla_inv_next ā¦ H ā¦ H0) -g
-/2 width=2 by ex_intro/
-qed-.
-
-(* Basic constructions ******************************************************)
-
-(*** isfin_isid *)
-lemma gr_isf_isi (f): šāŖfā« ā š
āŖfā«.
-/3 width=2 by gr_fcla_isi, ex_intro/ qed.
-
-(*** isfin_push *)
-lemma gr_isf_push (f): š
āŖfā« ā š
āŖā«Æfā«.
-#f * /3 width=2 by gr_fcla_push, ex_intro/
-qed.
-
-(*** isfin_next *)
-lemma gr_isf_next (f): š
āŖfā« ā š
āŖāfā«.
-#f * /3 width=2 by gr_fcla_next, ex_intro/
-qed.