Skip to content

Commit

Permalink
Prove Beck-Chevalley for forall
Browse files Browse the repository at this point in the history
  • Loading branch information
Rahul Chhabra authored and Rahul Chhabra committed Dec 18, 2023
1 parent 1740114 commit 37af59e
Showing 1 changed file with 22 additions and 2 deletions.
24 changes: 22 additions & 2 deletions src/Realizability/Tripos/Predicate.agda
Original file line number Diff line number Diff line change
Expand Up @@ -312,6 +312,26 @@ module BeckChevalley
(`∃BeckChevalley← ϕ k a))))
i)


`∀BeckChevalley→ : ϕ k a a ⊩ ∣ g* (`∀[J→I][ f ] ϕ) ∣ k a ⊩ ∣ `∀[L→K][ p ] (q* ϕ) ∣ k
`∀BeckChevalley→ ϕ k a p b (k' , j , gk'≡fj) k'≡k = p b j (sym (subst (λ k'' g k'' ≡ f j) k'≡k gk'≡fj))

`∀BeckChevalley← : ϕ k a a ⊩ ∣ `∀[L→K][ p ] (q* ϕ) ∣ k a ⊩ ∣ g* (`∀[J→I][ f ] ϕ) ∣ k
`∀BeckChevalley← ϕ k a p b j fj≡gk = p b (k , j , sym fj≡gk) refl


`∀BeckChevalley : g* ∘ `∀[J→I][ f ] ≡ `∀[L→K][ p ] ∘ q*
`∀BeckChevalley =
funExt λ ϕ i
PredicateIsoΣ K .inv
(PredicateΣ≡ {ℓ'' = ℓ''} K
((λ k a (a ⊩ ∣ g* (`∀[J→I][ f ] ϕ) ∣ k) , (g* (`∀[J→I][ f ] ϕ) .isPropValued k a)) , isSetK)
((λ k a (a ⊩ ∣ `∀[L→K][ p ] (q* ϕ) ∣ k) , (`∀[L→K][ p ] (q* ϕ) .isPropValued k a)) , isSetK)
(funExt₂
(λ k a
Σ≡Prop
(λ x isPropIsProp {A = x})
(hPropExt
(g* (`∀[J→I][ f ] ϕ) .isPropValued k a)
(`∀[L→K][ p ] (q* ϕ) .isPropValued k a)
(`∀BeckChevalley→ ϕ k a)
(`∀BeckChevalley← ϕ k a))))
i)

0 comments on commit 37af59e

Please sign in to comment.