awhecmu/canonical-drafter-extract-mathlib huggingface dataset:
-- Lean 4 proof step from Mathlib.Order.BooleanAlgebra.Set (goal)
Goal:
α : Type u_1
t s₁ s₂ s₁' s₂' : Set α
x : α
h :
  (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t →
    (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t)
h₁ :
  (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t) →
    (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t
h₂ : x ∈ t → x ∈ s₁ → x ∈ s₂ → (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t)
h₃ : ¬x ∈ t → x ∈ s₁' → x ∈ s₂' → (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t)
h₄ : x ∈ t → x ∈ s₁ → x ∈ s₂ → (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t)
h₅ : ¬x ∈ t → x ∈ s₁' → x ∈ s₂' → (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t)
⊢ (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t ↔
    (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t)
have h₆ : x ∈ t → x ∈ s₁ → x ∈ s₂ → x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t
Tactic: tauto
-- Lean 4 proof step from Mathlib.Order.BooleanAlgebra.Set (goal)
Goal:
α : Type u_1
t s₁ s₂ s₁' s₂' : Set α
x : α
h :
  (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t →
    (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t)
h₁ :
  (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t) →
    (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t
h₂ : x ∈ t → x ∈ s₁ → x ∈ s₂ → (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t)
h₃ : ¬x ∈ t → x ∈ s₁' → x ∈ s₂' → (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t)
h₄ : x ∈ t → x ∈ s₁ → x ∈ s₂ → (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t)
h₅ : ¬x ∈ t → x ∈ s₁' → x ∈ s₂' → (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t)
h₆ : x ∈ t → x ∈ s₁ → x ∈ s₂ → x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t
⊢ (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t ↔
    (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t)
have h₇ : x ∈ t → x ∈ s₁ → x ∈ s₂ → x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t
Tactic: tauto
-- Lean 4 proof step from Mathlib.Order.BooleanAlgebra.Set (goal)
Goal:
α : Type u_1
t s₁ s₂ s₁' s₂' : Set α
x : α
h :
  (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t →
    (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t)
h₁ :
  (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t) →
    (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t
h₂ : x ∈ t → x ∈ s₁ → x ∈ s₂ → (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t)
h₃ : ¬x ∈ t → x ∈ s₁' → x ∈ s₂' → (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t)
h₄ : x ∈ t → x ∈ s₁ → x ∈ s₂ → (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t)
h₅ : ¬x ∈ t → x ∈ s₁' → x ∈ s₂' → (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t)
h₆ : x ∈ t → x ∈ s₁ → x ∈ s₂ → x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t
h₇ : x ∈ t → x ∈ s₁ → x ∈ s₂ → x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t
⊢ (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t ↔
    (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t)
have h₈ : ¬x ∈ t → x ∈ s₁' → x ∈ s₂' → x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t
Tactic: tauto
-- Lean 4 proof step from Mathlib.Order.BooleanAlgebra.Set (goal)
Goal:
α : Type u_1
t s₁ s₂ s₁' s₂' : Set α
x : α
h :
  (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t →
    (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t)
h₁ :
  (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t) →
    (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t
h₂ : x ∈ t → x ∈ s₁ → x ∈ s₂ → (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t)
h₃ : ¬x ∈ t → x ∈ s₁' → x ∈ s₂' → (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t)
h₄ : x ∈ t → x ∈ s₁ → x ∈ s₂ → (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t)
h₅ : ¬x ∈ t → x ∈ s₁' → x ∈ s₂' → (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t)
h₆ : x ∈ t → x ∈ s₁ → x ∈ s₂ → x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t
h₇ : x ∈ t → x ∈ s₁ → x ∈ s₂ → x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t
h₈ : ¬x ∈ t → x ∈ s₁' → x ∈ s₂' → x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t
⊢ (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t ↔
    (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t)
have h₉ : ¬x ∈ t → x ∈ s₁' → x ∈ s₂' → x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t
Tactic: tauto
-- Lean 4 proof step from Mathlib.Order.BooleanAlgebra.Set (goal)
Goal:
α : Type u_1
t s₁ s₂ s₁' s₂' : Set α
x : α
h :
  (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t →
    (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t)
h₁ :
  (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t) →
    (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t
h₂ : x ∈ t → x ∈ s₁ → x ∈ s₂ → (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t)
h₃ : ¬x ∈ t → x ∈ s₁' → x ∈ s₂' → (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t)
h₄ : x ∈ t → x ∈ s₁ → x ∈ s₂ → (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t)
h₅ : ¬x ∈ t → x ∈ s₁' → x ∈ s₂' → (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t)
h₆ : x ∈ t → x ∈ s₁ → x ∈ s₂ → x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t
h₇ : x ∈ t → x ∈ s₁ → x ∈ s₂ → x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t
h₈ : ¬x ∈ t → x ∈ s₁' → x ∈ s₂' → x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t
h₉ : ¬x ∈ t → x ∈ s₁' → x ∈ s₂' → x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t
⊢ (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t ↔
    (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t)
have h₁₀ : x ∈ s₁ → x ∈ t → x ∈ s₂ → x ∈ t → (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t
Tactic: tauto
-- Lean 4 proof step from Mathlib.Order.BooleanAlgebra.Set (goal)
Goal:
α : Type u_1
t s₁ s₂ s₁' s₂' : Set α
x : α
h :
  (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t →
    (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t)
h₁ :
  (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t) →
    (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t
h₂ : x ∈ t → x ∈ s₁ → x ∈ s₂ → (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t)
h₃ : ¬x ∈ t → x ∈ s₁' → x ∈ s₂' → (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t)
h₄ : x ∈ t → x ∈ s₁ → x ∈ s₂ → (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t)
h₅ : ¬x ∈ t → x ∈ s₁' → x ∈ s₂' → (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t)
h₆ : x ∈ t → x ∈ s₁ → x ∈ s₂ → x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t
h₇ : x ∈ t → x ∈ s₁ → x ∈ s₂ → x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t
h₈ : ¬x ∈ t → x ∈ s₁' → x ∈ s₂' → x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t
h₉ : ¬x ∈ t → x ∈ s₁' → x ∈ s₂' → x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t
h₁₀ : x ∈ s₁ → x ∈ t → x ∈ s₂ → x ∈ t → (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t
⊢ (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t ↔
    (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t)
have h₁₁ : x ∈ s₁ → x ∈ t → x ∈ s₂' → ¬x ∈ t → (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t
Tactic: tauto
-- Lean 4 proof step from Mathlib.Order.BooleanAlgebra.Set (goal)
Goal:
α : Type u_1
t s₁ s₂ s₁' s₂' : Set α
x : α
h :
  (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t →
    (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t)
h₁ :
  (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t) →
    (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t
h₂ : x ∈ t → x ∈ s₁ → x ∈ s₂ → (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t)
h₃ : ¬x ∈ t → x ∈ s₁' → x ∈ s₂' → (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t)
h₄ : x ∈ t → x ∈ s₁ → x ∈ s₂ → (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t)
h₅ : ¬x ∈ t → x ∈ s₁' → x ∈ s₂' → (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t)
h₆ : x ∈ t → x ∈ s₁ → x ∈ s₂ → x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t
h₇ : x ∈ t → x ∈ s₁ → x ∈ s₂ → x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t
h₈ : ¬x ∈ t → x ∈ s₁' → x ∈ s₂' → x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t
h₉ : ¬x ∈ t → x ∈ s₁' → x ∈ s₂' → x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t
h₁₀ : x ∈ s₁ → x ∈ t → x ∈ s₂ → x ∈ t → (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t
h₁₁ : x ∈ s₁ → x ∈ t → x ∈ s₂' → ¬x ∈ t → (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t
⊢ (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t ↔
    (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t)
have h₁₂ : x ∈ s₁' → ¬x ∈ t → x ∈ s₂ → x ∈ t → (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t
Tactic: tauto
-- Lean 4 proof step from Mathlib.Order.BooleanAlgebra.Set (goal)
Goal:
α : Type u_1
t s₁ s₂ s₁' s₂' : Set α
x : α
h :
  (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t →
    (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t)
h₁ :
  (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t) →
    (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t
h₂ : x ∈ t → x ∈ s₁ → x ∈ s₂ → (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t)
h₃ : ¬x ∈ t → x ∈ s₁' → x ∈ s₂' → (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t)
h₄ : x ∈ t → x ∈ s₁ → x ∈ s₂ → (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t)
h₅ : ¬x ∈ t → x ∈ s₁' → x ∈ s₂' → (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t)
h₆ : x ∈ t → x ∈ s₁ → x ∈ s₂ → x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t
h₇ : x ∈ t → x ∈ s₁ → x ∈ s₂ → x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t
h₈ : ¬x ∈ t → x ∈ s₁' → x ∈ s₂' → x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t
h₉ : ¬x ∈ t → x ∈ s₁' → x ∈ s₂' → x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t
h₁₀ : x ∈ s₁ → x ∈ t → x ∈ s₂ → x ∈ t → (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t
h₁₁ : x ∈ s₁ → x ∈ t → x ∈ s₂' → ¬x ∈ t → (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t
h₁₂ : x ∈ s₁' → ¬x ∈ t → x ∈ s₂ → x ∈ t → (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t
⊢ (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t ↔
    (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t)
have h₁₃ : x ∈ s₁' → ¬x ∈ t → x ∈ s₂' → ¬x ∈ t → (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t
Tactic: tauto
-- Lean 4 proof step from Mathlib.Order.BooleanAlgebra.Set (goal)
Goal:
α : Type u_1
t s₁ s₂ s₁' s₂' : Set α
x : α
h :
  (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t →
    (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t)
h₁ :
  (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t) →
    (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t
h₂ : x ∈ t → x ∈ s₁ → x ∈ s₂ → (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t)
h₃ : ¬x ∈ t → x ∈ s₁' → x ∈ s₂' → (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t)
h₄ : x ∈ t → x ∈ s₁ → x ∈ s₂ → (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t)
h₅ : ¬x ∈ t → x ∈ s₁' → x ∈ s₂' → (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t)
h₆ : x ∈ t → x ∈ s₁ → x ∈ s₂ → x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t
h₇ : x ∈ t → x ∈ s₁ → x ∈ s₂ → x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t
h₈ : ¬x ∈ t → x ∈ s₁' → x ∈ s₂' → x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t
h₉ : ¬x ∈ t → x ∈ s₁' → x ∈ s₂' → x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t
h₁₀ : x ∈ s₁ → x ∈ t → x ∈ s₂ → x ∈ t → (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t
h₁₁ : x ∈ s₁ → x ∈ t → x ∈ s₂' → ¬x ∈ t → (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t
h₁₂ : x ∈ s₁' → ¬x ∈ t → x ∈ s₂ → x ∈ t → (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t
h₁₃ : x ∈ s₁' → ¬x ∈ t → x ∈ s₂' → ¬x ∈ t → (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t
h₁₄ : x ∈ s₁ → x ∈ t → x ∈ s₂ → x ∈ t → (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t
h₁₅ : x ∈ s₁' → ¬x ∈ t → x ∈ s₂' → ¬x ∈ t → (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t
⊢ (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t ↔
    (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t)
have h₁₆ : x ∈ s₁ → x ∈ t → x ∈ s₂ → x ∈ t → ¬((x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t) → x ∈ s₁'
Tactic: tauto
-- Lean 4 proof step from Mathlib.Order.BooleanAlgebra.Set (goal)
Goal:
α : Type u_1
t s₁ s₂ s₁' s₂' : Set α
x : α
h :
  (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t →
    (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t)
h₁ :
  (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t) →
    (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t
h₂ : x ∈ t → x ∈ s₁ → x ∈ s₂ → (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t)
h₃ : ¬x ∈ t → x ∈ s₁' → x ∈ s₂' → (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t)
h₄ : x ∈ t → x ∈ s₁ → x ∈ s₂ → (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t)
h₅ : ¬x ∈ t → x ∈ s₁' → x ∈ s₂' → (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t)
h₆ : x ∈ t → x ∈ s₁ → x ∈ s₂ → x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t
h₇ : x ∈ t → x ∈ s₁ → x ∈ s₂ → x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t
h₈ : ¬x ∈ t → x ∈ s₁' → x ∈ s₂' → x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t
h₉ : ¬x ∈ t → x ∈ s₁' → x ∈ s₂' → x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t
h₁₀ : x ∈ s₁ → x ∈ t → x ∈ s₂ → x ∈ t → (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t
h₁₁ : x ∈ s₁ → x ∈ t → x ∈ s₂' → ¬x ∈ t → (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t
h₁₂ : x ∈ s₁' → ¬x ∈ t → x ∈ s₂ → x ∈ t → (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t
h₁₃ : x ∈ s₁' → ¬x ∈ t → x ∈ s₂' → ¬x ∈ t → (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t
h₁₄ : x ∈ s₁ → x ∈ t → x ∈ s₂ → x ∈ t → (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t
h₁₅ : x ∈ s₁' → ¬x ∈ t → x ∈ s₂' → ¬x ∈ t → (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t
h₁₆ : x ∈ s₁ → x ∈ t → x ∈ s₂ → x ∈ t → ¬((x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t) → x ∈ s₁'
⊢ (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t ↔
    (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t)
have h₁₇ : x ∈ s₁ → x ∈ t → x ∈ s₂ → x ∈ t → ¬((x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t) → x ∈ s₂'
Tactic: tauto
-- Lean 4 proof step from Mathlib.Order.BooleanAlgebra.Set (goal)
Goal:
α : Type u_1
t s₁ s₂ s₁' s₂' : Set α
x : α
h :
  (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t →
    (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t)
h₁ :
  (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t) →
    (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t
h₂ : x ∈ t → x ∈ s₁ → x ∈ s₂ → (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t)
h₃ : ¬x ∈ t → x ∈ s₁' → x ∈ s₂' → (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t)
h₄ : x ∈ t → x ∈ s₁ → x ∈ s₂ → (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t)
h₅ : ¬x ∈ t → x ∈ s₁' → x ∈ s₂' → (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t)
h₆ : x ∈ t → x ∈ s₁ → x ∈ s₂ → x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t
h₇ : x ∈ t → x ∈ s₁ → x ∈ s₂ → x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t
h₈ : ¬x ∈ t → x ∈ s₁' → x ∈ s₂' → x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t
h₉ : ¬x ∈ t → x ∈ s₁' → x ∈ s₂' → x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t
h₁₀ : x ∈ s₁ → x ∈ t → x ∈ s₂ → x ∈ t → (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t
h₁₁ : x ∈ s₁ → x ∈ t → x ∈ s₂' → ¬x ∈ t → (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t
h₁₂ : x ∈ s₁' → ¬x ∈ t → x ∈ s₂ → x ∈ t → (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t
h₁₃ : x ∈ s₁' → ¬x ∈ t → x ∈ s₂' → ¬x ∈ t → (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t
h₁₄ : x ∈ s₁ → x ∈ t → x ∈ s₂ → x ∈ t → (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t
h₁₅ : x ∈ s₁' → ¬x ∈ t → x ∈ s₂' → ¬x ∈ t → (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t
h₁₆ : x ∈ s₁ → x ∈ t → x ∈ s₂ → x ∈ t → ¬((x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t) → x ∈ s₁'
h₁₇ : x ∈ s₁ → x ∈ t → x ∈ s₂ → x ∈ t → ¬((x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t) → x ∈ s₂'
⊢ (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t ↔
    (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t)
have h₁₈ : x ∈ s₁ → x ∈ t → x ∈ s₂ → x ∈ t → ¬((x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t) → ¬x ∈ t
Tactic: tauto
-- Lean 4 proof step from Mathlib.Order.BooleanAlgebra.Set (goal)
Goal:
α : Type u_1
t s₁ s₂ s₁' s₂' : Set α
x : α
h :
  (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t →
    (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t)
h₁ :
  (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t) →
    (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t
h₂ : x ∈ t → x ∈ s₁ → x ∈ s₂ → (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t)
h₃ : ¬x ∈ t → x ∈ s₁' → x ∈ s₂' → (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t)
h₄ : x ∈ t → x ∈ s₁ → x ∈ s₂ → (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t)
h₅ : ¬x ∈ t → x ∈ s₁' → x ∈ s₂' → (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t)
h₆ : x ∈ t → x ∈ s₁ → x ∈ s₂ → x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t
h₇ : x ∈ t → x ∈ s₁ → x ∈ s₂ → x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t
h₈ : ¬x ∈ t → x ∈ s₁' → x ∈ s₂' → x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t
h₉ : ¬x ∈ t → x ∈ s₁' → x ∈ s₂' → x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t
h₁₀ : x ∈ s₁ → x ∈ t → x ∈ s₂ → x ∈ t → (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t
h₁₁ : x ∈ s₁ → x ∈ t → x ∈ s₂' → ¬x ∈ t → (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t
h₁₂ : x ∈ s₁' → ¬x ∈ t → x ∈ s₂ → x ∈ t → (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t
h₁₃ : x ∈ s₁' → ¬x ∈ t → x ∈ s₂' → ¬x ∈ t → (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t
h₁₄ : x ∈ s₁ → x ∈ t → x ∈ s₂ → x ∈ t → (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t
h₁₅ : x ∈ s₁' → ¬x ∈ t → x ∈ s₂' → ¬x ∈ t → (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t
h₁₆ : x ∈ s₁ → x ∈ t → x ∈ s₂ → x ∈ t → ¬((x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t) → x ∈ s₁'
h₁₇ : x ∈ s₁ → x ∈ t → x ∈ s₂ → x ∈ t → ¬((x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t) → x ∈ s₂'
h₁₈ : x ∈ s₁ → x ∈ t → x ∈ s₂ → x ∈ t → ¬((x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t) → ¬x ∈ t
⊢ (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t ↔
    (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t)
have h₁₉ : x ∈ s₁' → ¬x ∈ t → x ∈ s₂' → ¬x ∈ t → ¬((x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t) → x ∈ s₁'
Tactic: tauto
-- Lean 4 proof step from Mathlib.Order.BooleanAlgebra.Set (goal)
Goal:
α : Type u_1
t s₁ s₂ s₁' s₂' : Set α
x : α
h :
  (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t →
    (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t)
h₁ :
  (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t) →
    (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t
h₂ : x ∈ t → x ∈ s₁ → x ∈ s₂ → (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t)
h₃ : ¬x ∈ t → x ∈ s₁' → x ∈ s₂' → (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t)
h₄ : x ∈ t → x ∈ s₁ → x ∈ s₂ → (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t)
h₅ : ¬x ∈ t → x ∈ s₁' → x ∈ s₂' → (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t)
h₆ : x ∈ t → x ∈ s₁ → x ∈ s₂ → x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t
h₇ : x ∈ t → x ∈ s₁ → x ∈ s₂ → x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t
h₈ : ¬x ∈ t → x ∈ s₁' → x ∈ s₂' → x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t
h₉ : ¬x ∈ t → x ∈ s₁' → x ∈ s₂' → x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t
h₁₀ : x ∈ s₁ → x ∈ t → x ∈ s₂ → x ∈ t → (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t
h₁₁ : x ∈ s₁ → x ∈ t → x ∈ s₂' → ¬x ∈ t → (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t
h₁₂ : x ∈ s₁' → ¬x ∈ t → x ∈ s₂ → x ∈ t → (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t
h₁₃ : x ∈ s₁' → ¬x ∈ t → x ∈ s₂' → ¬x ∈ t → (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t
h₁₄ : x ∈ s₁ → x ∈ t → x ∈ s₂ → x ∈ t → (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t
h₁₅ : x ∈ s₁' → ¬x ∈ t → x ∈ s₂' → ¬x ∈ t → (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t
h₁₆ : x ∈ s₁ → x ∈ t → x ∈ s₂ → x ∈ t → ¬((x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t) → x ∈ s₁'
h₁₇ : x ∈ s₁ → x ∈ t → x ∈ s₂ → x ∈ t → ¬((x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t) → x ∈ s₂'
h₁₈ : x ∈ s₁ → x ∈ t → x ∈ s₂ → x ∈ t → ¬((x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t) → ¬x ∈ t
h₁₉ : x ∈ s₁' → ¬x ∈ t → x ∈ s₂' → ¬x ∈ t → ¬((x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t) → x ∈ s₁'
⊢ (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t ↔
    (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t)
have h₂₀ : x ∈ s₁' → ¬x ∈ t → x ∈ s₂' → ¬x ∈ t → ¬((x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t) → x ∈ s₂'
Tactic: tauto
-- Lean 4 proof step from Mathlib.Order.BooleanAlgebra.Set (goal)
Goal:
α : Type u_1
t s₁ s₂ s₁' s₂' : Set α
x : α
h :
  (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t →
    (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t)
h₁ :
  (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t) →
    (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t
h₂ : x ∈ t → x ∈ s₁ → x ∈ s₂ → (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t)
h₃ : ¬x ∈ t → x ∈ s₁' → x ∈ s₂' → (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t)
h₄ : x ∈ t → x ∈ s₁ → x ∈ s₂ → (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t)
h₅ : ¬x ∈ t → x ∈ s₁' → x ∈ s₂' → (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t)
h₆ : x ∈ t → x ∈ s₁ → x ∈ s₂ → x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t
h₇ : x ∈ t → x ∈ s₁ → x ∈ s₂ → x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t
h₈ : ¬x ∈ t → x ∈ s₁' → x ∈ s₂' → x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t
h₉ : ¬x ∈ t → x ∈ s₁' → x ∈ s₂' → x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t
h₁₀ : x ∈ s₁ → x ∈ t → x ∈ s₂ → x ∈ t → (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t
h₁₁ : x ∈ s₁ → x ∈ t → x ∈ s₂' → ¬x ∈ t → (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t
h₁₂ : x ∈ s₁' → ¬x ∈ t → x ∈ s₂ → x ∈ t → (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t
h₁₃ : x ∈ s₁' → ¬x ∈ t → x ∈ s₂' → ¬x ∈ t → (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t
h₁₄ : x ∈ s₁ → x ∈ t → x ∈ s₂ → x ∈ t → (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t
h₁₅ : x ∈ s₁' → ¬x ∈ t → x ∈ s₂' → ¬x ∈ t → (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t
h₁₆ : x ∈ s₁ → x ∈ t → x ∈ s₂ → x ∈ t → ¬((x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t) → x ∈ s₁'
h₁₇ : x ∈ s₁ → x ∈ t → x ∈ s₂ → x ∈ t → ¬((x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t) → x ∈ s₂'
h₁₈ : x ∈ s₁ → x ∈ t → x ∈ s₂ → x ∈ t → ¬((x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t) → ¬x ∈ t
h₁₉ : x ∈ s₁' → ¬x ∈ t → x ∈ s₂' → ¬x ∈ t → ¬((x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t) → x ∈ s₁'
h₂₀ : x ∈ s₁' → ¬x ∈ t → x ∈ s₂' → ¬x ∈ t → ¬((x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t) → x ∈ s₂'
⊢ (x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t ∨ (x ∈ s₁' ∧ x ∈ s₂') ∧ ¬x ∈ t ↔
    (x ∈ s₁ ∧ x ∈ t ∨ x ∈ s₁' ∧ ¬x ∈ t) ∧ (x ∈ s₂ ∧ x ∈ t ∨ x ∈ s₂' ∧ ¬x ∈ t)
have h₂₁ : x ∈ s₁' → ¬x ∈ t → x ∈ s₂' → ¬x ∈ t → ¬((x ∈ s₁ ∧ x ∈ s₂) ∧ x ∈ t) → ¬x ∈ t
Tactic: tauto