574
574
Lemma open_add_edge (x y : G) u :
575
575
open (G ∔ [x, u, y]) ⩭2 open G ∔ [inj_v x, u, inj_v y].
576
576
Proof .
577
- have X : is_graph (add_edge (open G) (inj_v x) u (inj_v y)).
577
+ have @ X : is_graph (add_edge (open G) (inj_v x) u (inj_v y)).
578
578
{ exact: add_edge_graph. }
579
579
econstructor.
580
580
apply: iso2_comp (iso2_sym _) _. apply: openK.
@@ -651,21 +651,21 @@ Proof.
651
651
move: j => [isF isG i] Vz IOz /=.
652
652
unshelve econstructor.
653
653
{ apply remove_vertex_graph => //; constructor. rewrite (oiso2_pIO (OIso2 i)) // in IOz. }
654
- have E1 : [fset vfun_body i z] = [fset val (i x) | x : vset F & val x \in [fset z]]. (* : / in?? *)
654
+ have @ E1 : [fset vfun_body i z] = [fset val (i x) | x : vset F & val x \in [fset z]]. (* : / in?? *)
655
655
{ apply/fsetP => k. rewrite inE vfun_bodyE. apply/eqP/imfsetP => /= [->|[x] /= ].
656
656
- exists (Sub z Vz) => //. by rewrite !inE.
657
657
- rewrite !inE => /eqP X ->. move: Vz. rewrite -X => Vz. by rewrite fsvalK. }
658
- have E2 : edges_at G (vfun_body i z) = [fset val (i.e x) | x : eset F & val x \in edges_at F z].
658
+ have @ E2 : edges_at G (vfun_body i z) = [fset val (i.e x) | x : eset F & val x \in edges_at F z].
659
659
{ rewrite (@oiso2_edges_at _ _ (OIso2 i)) //=. apply/fsetP => k. apply/imfsetP/imfsetP.
660
660
- case => /= x Ix ->.
661
- have Hx : x \in eset F. move: Ix. rewrite edges_atE. by case: (_ \in _).
661
+ have @ Hx : x \in eset F. move: Ix. rewrite edges_atE. by case: (_ \in _).
662
662
exists (Sub x Hx) => //. by rewrite efun_bodyE.
663
663
- case => /= x. rewrite inE => Hx ->. exists (fsval x) => //. by rewrite efun_bodyE fsvalK. }
664
- - have P e (p : e \in eset (F \ z)) : val (i.e (Sub e (fsetDl p))) \in eset G `\` edges_at G (vfun_body i z).
664
+ - have @ P e (p : e \in eset (F \ z)) : val (i.e (Sub e (fsetDl p))) \in eset G `\` edges_at G (vfun_body i z).
665
665
{ rewrite inE [_ \in eset G]valP andbT E2. apply: contraTN (p).
666
666
case/imfsetP => /= e0. rewrite inE => A. move/val_inj. move/(@bij_injective _ _ i.e) => ?; subst.
667
667
by rewrite inE A. }
668
- have Q v (p : v \in vset (F \ z)) : val (i (Sub v (fsetDl p))) \in vset G `\ vfun_body i z.
668
+ have @ Q v (p : v \in vset (F \ z)) : val (i (Sub v (fsetDl p))) \in vset G `\ vfun_body i z.
669
669
{ rewrite inE [_ \in vset G]valP andbT E1. apply: contraTN (p).
670
670
case/imfsetP => /= v0. rewrite inE => A. move/val_inj. move/(@bij_injective _ _ i) => ?; subst.
671
671
by rewrite inE A. }
@@ -713,8 +713,8 @@ Lemma oiso2_add_edge (F G : pre_graph) (i : F ⩭2 G) e1 e2 x y u v :
713
713
F ∔ [e1,x,u,y] ⩭2 G ∔ [e2,i x,v,i y].
714
714
Proof .
715
715
case: i => isF isG i fresh_e1 fresh_e2 Vx Vy uv /=.
716
- have isF' : is_graph (F ∔ [e1, x, u, y]) by abstract exact: add_edge_graph'.
717
- have isG' : is_graph (G ∔ [e2, vfun_body i x, v, vfun_body i y]).
716
+ have @ isF' : is_graph (F ∔ [e1, x, u, y]) by abstract exact: add_edge_graph'.
717
+ have @ isG' : is_graph (G ∔ [e2, vfun_body i x, v, vfun_body i y]).
718
718
by abstract (apply: add_edge_graph'; exact: (oiso2_vset (OIso2 i))).
719
719
econstructor.
720
720
apply: iso2_comp. apply: pack_add_edge'. assumption.
@@ -728,13 +728,13 @@ Lemma oiso2_remove_edges (F G : pre_graph) (i : F ⩭2 G) E E':
728
728
E' = [fset efun_of i e | e in E] -> (F - E) ⩭2 (G - E').
729
729
Proof .
730
730
case: i => isF isG i /= S EE'. econstructor.
731
- have X : E' = [fset val (i.e x) | x : eset F & val x \in E].
731
+ have @ X : E' = [fset val (i.e x) | x : eset F & val x \in E].
732
732
{ subst. apply/fsetP => k. apply/imfsetP/imfsetP.
733
733
- case => /= x Ix ->.
734
- have Hx : x \in eset F. move: Ix. apply: (fsubsetP S).
734
+ have @ Hx : x \in eset F. move: Ix. apply: (fsubsetP S).
735
735
exists (Sub x Hx) => //. by rewrite efun_bodyE.
736
736
- case => /= x. rewrite inE => Hx ->. exists (fsval x) => //. by rewrite efun_bodyE fsvalK. }
737
- have P e (p : e \in eset (F - E)) : val (i.e (Sub e (fsetDl p))) \in eset G `\` E'.
737
+ have @ P e (p : e \in eset (F - E)) : val (i.e (Sub e (fsetDl p))) \in eset G `\` E'.
738
738
{ rewrite inE [_ \in eset G]valP andbT X. apply: contraTN (p).
739
739
case/imfsetP => /= e0. rewrite inE => A. move/val_inj. move/(@bij_injective _ _ i.e) => ?; subst.
740
740
by rewrite inE A. }
@@ -775,8 +775,8 @@ Lemma oiso2_add_edge' (F G : pre_graph) (i : F ⩭2 G)
775
775
Proof with eauto with typeclass_instances.
776
776
case: i => isF isG i.
777
777
move => E1 E2 Vx Vy Vx' Vy' Ix Iy uv.
778
- have isF' : is_graph ( F ∔ [e1, x, u, y] ). apply add_edge_graph'...
779
- have isG' : is_graph ( G ∔ [e2, x', v, y']). apply add_edge_graph'...
778
+ have @ isF' : is_graph ( F ∔ [e1, x, u, y] ). apply add_edge_graph'...
779
+ have @ isG' : is_graph ( G ∔ [e2, x', v, y']). apply add_edge_graph'...
780
780
econstructor.
781
781
apply: iso2_comp. apply: pack_add_edge'. assumption.
782
782
apply: iso2_comp (iso2_sym _). 2: apply: pack_add_edge'; try assumption.
0 commit comments