@@ -61,6 +61,9 @@ instance : Sup G.Finsubgraph :=
61
61
instance : Inf G.Finsubgraph :=
62
62
⟨fun G₁ G₂ => ⟨G₁ ⊓ G₂, G₁.2 .subset inter_subset_left⟩⟩
63
63
64
+ instance instSDiff : SDiff G.Finsubgraph where
65
+ sdiff G₁ G₂ := ⟨G₁ \ G₂, G₁.2 .subset (Subgraph.verts_mono sdiff_le)⟩
66
+
64
67
@[simp, norm_cast] lemma coe_bot : (⊥ : G.Finsubgraph) = (⊥ : G.Subgraph) := rfl
65
68
66
69
@[simp, norm_cast]
@@ -69,17 +72,28 @@ lemma coe_sup (G₁ G₂ : G.Finsubgraph) : ↑(G₁ ⊔ G₂) = (G₁ ⊔ G₂
69
72
@[simp, norm_cast]
70
73
lemma coe_inf (G₁ G₂ : G.Finsubgraph) : ↑(G₁ ⊓ G₂) = (G₁ ⊓ G₂ : G.Subgraph) := rfl
71
74
72
- instance : DistribLattice G.Finsubgraph :=
73
- Subtype.coe_injective.distribLattice _ (fun _ _ => rfl) fun _ _ => rfl
75
+ @[simp, norm_cast]
76
+ lemma coe_sdiff (G₁ G₂ : G.Finsubgraph) : ↑(G₁ \ G₂) = (G₁ \ G₂ : G.Subgraph) := rfl
77
+
78
+ instance instGeneralizedCoheytingAlgebra : GeneralizedCoheytingAlgebra G.Finsubgraph :=
79
+ Subtype.coe_injective.generalizedCoheytingAlgebra _ coe_sup coe_inf coe_bot coe_sdiff
74
80
75
81
section Finite
76
82
variable [Finite V]
77
83
78
84
instance instTop : Top G.Finsubgraph where top := ⟨⊤, finite_univ⟩
85
+ instance instHasCompl : HasCompl G.Finsubgraph where compl G' := ⟨G'ᶜ, Set.toFinite _⟩
86
+ instance instHNot : HNot G.Finsubgraph where hnot G' := ⟨¬G', Set.toFinite _⟩
87
+ instance instHImp : HImp G.Finsubgraph where himp G₁ G₂ := ⟨G₁ ⇨ G₂, Set.toFinite _⟩
79
88
instance instSupSet : SupSet G.Finsubgraph where sSup s := ⟨⨆ G ∈ s, ↑G, Set.toFinite _⟩
80
89
instance instInfSet : InfSet G.Finsubgraph where sInf s := ⟨⨅ G ∈ s, ↑G, Set.toFinite _⟩
81
90
82
- @[simp, norm_cast] lemma coe_top : ↑(⊤ : G.Finsubgraph) = (⊤ : G.Subgraph) := rfl
91
+ @[simp, norm_cast] lemma coe_top : (⊤ : G.Finsubgraph) = (⊤ : G.Subgraph) := rfl
92
+ @[simp, norm_cast] lemma coe_compl (G' : G.Finsubgraph) : ↑(G'ᶜ) = (G'ᶜ : G.Subgraph) := rfl
93
+ @[simp, norm_cast] lemma coe_hnot (G' : G.Finsubgraph) : ↑(¬G') = (¬G' : G.Subgraph) := rfl
94
+
95
+ @[simp, norm_cast]
96
+ lemma coe_himp (G₁ G₂ : G.Finsubgraph) : ↑(G₁ ⇨ G₂) = (G₁ ⇨ G₂ : G.Subgraph) := rfl
83
97
84
98
@[simp, norm_cast]
85
99
lemma coe_sSup (s : Set G.Finsubgraph) : sSup s = (⨆ G ∈ s, G : G.Subgraph) := rfl
@@ -97,6 +111,7 @@ lemma coe_iInf {ι : Sort*} (f : ι → G.Finsubgraph) : ⨅ i, f i = (⨅ i, f
97
111
98
112
instance instCompletelyDistribLattice : CompletelyDistribLattice G.Finsubgraph :=
99
113
Subtype.coe_injective.completelyDistribLattice _ coe_sup coe_inf coe_sSup coe_sInf coe_top coe_bot
114
+ coe_compl coe_himp coe_hnot coe_sdiff
100
115
101
116
end Finite
102
117
end Finsubgraph
0 commit comments