include "ground/xoa/ex_3_2.ma".
include "ground/relocation/gr_tl.ma".
-(* RELATIONAL CO-COMPOSITION FOR GENERIC RELOCATION MAPS ***********************************************************)
+(* RELATIONAL CO-COMPOSITION FOR GENERIC RELOCATION MAPS ********************)
(*** coafter *)
coinductive gr_coafter: relation3 gr_map gr_map gr_map ≝
"relational co-composition (generic relocation maps)"
'RCoAfter f1 f2 f = (gr_coafter f1 f2 f).
-(* Basic inversion lemmas ***************************************************)
+(* Basic inversions *********************************************************)
(*** coafter_inv_ppx *)
lemma gr_coafter_inv_push_bi:
]
qed-.
-(* Advanced inversion lemmas ************************************************)
+(* Advanced inversions ******************************************************)
(*** coafter_inv_ppp *)
lemma gr_coafter_inv_push_bi_push:
]
qed-.
-(* Inversion lemmas with tail ***********************************************)
+(* Inversions with gr_tl ****************************************************)
(*** coafter_inv_tl1 *)
lemma gr_coafter_inv_tl_dx:
- â\88\80g2,g1,g. g2 ~â\8a\9a ⫱g1 ≘ g →
- â\88\83â\88\83f. ⫯g2 ~â\8a\9a g1 â\89\98 f & ⫱f = g.
+ â\88\80g2,g1,g. g2 ~â\8a\9a â«°g1 ≘ g →
+ â\88\83â\88\83f. ⫯g2 ~â\8a\9a g1 â\89\98 f & â«°f = g.
#g2 #g1 #g
elim (gr_map_split_tl g1) #H1 #H2
[ /3 width=7 by gr_coafter_refl, ex2_intro/
-| @(ex2_intro … (↑g)) /2 width=7 by gr_coafter_push/ (**) (* full auto fails *)
+| @(ex2_intro … (↑g)) /2 width=7 by gr_coafter_push/ (* * full auto fails *)
]
qed-.
(*** coafter_inv_tl0 *)
lemma gr_coafter_inv_tl:
- â\88\80g2,g1,g. g2 ~â\8a\9a g1 â\89\98 ⫱g →
- â\88\83â\88\83f1. ⫯g2 ~â\8a\9a f1 â\89\98 g & ⫱f1 = g1.
+ â\88\80g2,g1,g. g2 ~â\8a\9a g1 â\89\98 â«°g →
+ â\88\83â\88\83f1. ⫯g2 ~â\8a\9a f1 â\89\98 g & â«°f1 = g1.
#g2 #g1 #g
elim (gr_map_split_tl g) #H1 #H2
[ /3 width=7 by gr_coafter_refl, ex2_intro/
-| @(ex2_intro … (↑g1)) /2 width=7 by gr_coafter_push/ (**) (* full auto fails *)
+| @(ex2_intro … (↑g1)) /2 width=7 by gr_coafter_push/ (* * full auto fails *)
]
qed-.