Skip to content

Commit

Permalink
prove disconOr
Browse files Browse the repository at this point in the history
  • Loading branch information
m4lvin committed Oct 24, 2023
1 parent 94fcbd9 commit 2e191cb
Showing 1 changed file with 32 additions and 1 deletion.
33 changes: 32 additions & 1 deletion Pdl/Discon.lean
Original file line number Diff line number Diff line change
Expand Up @@ -168,7 +168,38 @@ theorem disconAnd {XS YS} : discon (XS ⊎ YS) ≡ discon XS ⋀ discon YS :=

theorem disconOr {XS YS} : discon (XS ∪ YS) ≡ discon XS ⋁ discon YS :=
by
sorry
unfold semEquiv
intro W M w
rw [disconEval (XS ∪ YS) (by rfl)]
simp
rw [disconEval XS (by rfl)]
rw [disconEval YS (by rfl)]
constructor
· -- →
intro lhs
rcases lhs with ⟨Z, Z_in, w_sat_Z⟩
intro notL
simp at notL
cases Z_in
case inl Z_in_XS =>
specialize notL Z Z_in_XS
rcases notL with ⟨f, f_in_Z, w_not_f⟩
specialize w_sat_Z f f_in_Z
absurd w_sat_Z
exact w_not_f
use Z
· -- ←
intro rhs
cases (Classical.em (∃ Y, Y ∈ XS ∧ ∀ (f : Formula), f ∈ Y → evaluate M w f))
case inl hyp =>
rcases hyp with ⟨X, X_in, satX⟩
use X
exact ⟨Or.inl X_in, satX⟩
case inr nothyp =>
specialize rhs nothyp
rcases rhs with ⟨Y, Y_in, satY⟩
use Y
exact ⟨Or.inr Y_in, satY⟩

theorem union_elem_uplus {XS YS : Finset (Finset Formula)} {X Y : Finset Formula} :
X ∈ XS → Y ∈ YS → ((X ∪ Y) ∈ (XS ⊎ YS)) :=
Expand Down

0 comments on commit 2e191cb

Please sign in to comment.