Theorem: LeanSAT.Model.PropFun.subst_conj (LeanSAT/Model/Subst.lean)

State before:
ν₁ : Type u_2
ν₂ : Type u_1
φ φ₁ φ₂ : PropFun ν₁
f f₁ : ν₁ → PropFun ν₂
τ : PropAssignment ν₂
v : ν₁
⊢ subst (φ₁ ⊓ φ₂) f = subst φ₁ f ⊓ subst φ₂ f
Tactic:
have ⟨φ₁, hφ₁⟩ := φ₁.exists_rep
State after:
ν₁ : Type u_2
ν₂ : Type u_1
φ φ₁✝ φ₂ : PropFun ν₁
f f₁ : ν₁ → PropFun ν₂
τ : PropAssignment ν₂
v : ν₁
φ₁ : PropForm ν₁
hφ₁ : ⟦φ₁⟧ = φ₁✝
⊢ subst (φ₁✝ ⊓ φ₂) f = subst φ₁✝ f ⊓ subst φ₂ f

State before:
ν₁ : Type u_2
ν₂ : Type u_1
φ φ₁✝ φ₂ : PropFun ν₁
f f₁ : ν₁ → PropFun ν₂
τ : PropAssignment ν₂
v : ν₁
φ₁ : PropForm ν₁
hφ₁ : ⟦φ₁⟧ = φ₁✝
⊢ subst (φ₁✝ ⊓ φ₂) f = subst φ₁✝ f ⊓ subst φ₂ f
Tactic:
cases hφ₁
State after:
case refl
ν₁ : Type u_2
ν₂ : Type u_1
φ φ₂ : PropFun ν₁
f f₁ : ν₁ → PropFun ν₂
τ : PropAssignment ν₂
v : ν₁
φ₁ : PropForm ν₁
⊢ subst (⟦φ₁⟧ ⊓ φ₂) f = subst ⟦φ₁⟧ f ⊓ subst φ₂ f

State before:
case refl
ν₁ : Type u_2
ν₂ : Type u_1
φ φ₂ : PropFun ν₁
f f₁ : ν₁ → PropFun ν₂
τ : PropAssignment ν₂
v : ν₁
φ₁ : PropForm ν₁
⊢ subst (⟦φ₁⟧ ⊓ φ₂) f = subst ⟦φ₁⟧ f ⊓ subst φ₂ f
Tactic:
have ⟨φ₂, hφ₂⟩ := φ₂.exists_rep
State after:
case refl
ν₁ : Type u_2
ν₂ : Type u_1
φ φ₂✝ : PropFun ν₁
f f₁ : ν₁ → PropFun ν₂
τ : PropAssignment ν₂
v : ν₁
φ₁ φ₂ : PropForm ν₁
hφ₂ : ⟦φ₂⟧ = φ₂✝
⊢ subst (⟦φ₁⟧ ⊓ φ₂✝) f = subst ⟦φ₁⟧ f ⊓ subst φ₂✝ f

State before:
case refl
ν₁ : Type u_2
ν₂ : Type u_1
φ φ₂✝ : PropFun ν₁
f f₁ : ν₁ → PropFun ν₂
τ : PropAssignment ν₂
v : ν₁
φ₁ φ₂ : PropForm ν₁
hφ₂ : ⟦φ₂⟧ = φ₂✝
⊢ subst (⟦φ₁⟧ ⊓ φ₂✝) f = subst ⟦φ₁⟧ f ⊓ subst φ₂✝ f
Tactic:
cases hφ₂
State after:
case refl.refl
ν₁ : Type u_2
ν₂ : Type u_1
φ : PropFun ν₁
f f₁ : ν₁ → PropFun ν₂
τ : PropAssignment ν₂
v : ν₁
φ₁ φ₂ : PropForm ν₁
⊢ subst (⟦φ₁⟧ ⊓ ⟦φ₂⟧) f = subst ⟦φ₁⟧ f ⊓ subst ⟦φ₂⟧ f

State before:
case refl.refl
ν₁ : Type u_2
ν₂ : Type u_1
φ : PropFun ν₁
f f₁ : ν₁ → PropFun ν₂
τ : PropAssignment ν₂
v : ν₁
φ₁ φ₂ : PropForm ν₁
⊢ subst (⟦φ₁⟧ ⊓ ⟦φ₂⟧) f = subst ⟦φ₁⟧ f ⊓ subst ⟦φ₂⟧ f
Tactic:
rfl
State after:
no goals