Some definitions and adjusted proofs
This commit is contained in:
@@ -41,27 +41,28 @@ invert-≈-∀ (mk-≈ x ∀₁↪*x ∀₂↪*x) with ↪*-∀-shape ∀₁↪*
|
||||
|
||||
invert-⊢λ' : ∀ {n} {Γ : Context n} {e : Term (suc n)} {t : Term n} →
|
||||
Γ ⊢ `λ e ⦂ t →
|
||||
∃[ t₁ ] ∃[ t₂ ]
|
||||
∃[ t₁ ] ∃[ t₂ ] ∃[ l ]
|
||||
t ≈ (∀[x⦂ t₁ ] t₂) ×
|
||||
Γ ⊢ t₁ ⦂ `Set ×
|
||||
Γ ⊢ t₁ ⦂ (`Setn l) ×
|
||||
Γ , t₁ ⊢ e ⦂ t₂
|
||||
invert-⊢λ' (⊢-λ ⊢λ ⊢e) = ⟨ _ , ⟨ _ , ⟨ ≈-refl , ⟨ ⊢λ , ⊢e ⟩ ⟩ ⟩ ⟩
|
||||
invert-⊢λ' (⊢-λ ⊢λ ⊢e) = ⟨ _ , ⟨ _ , ⟨ _ , ⟨ ≈-refl , ⟨ ⊢λ , ⊢e ⟩ ⟩ ⟩ ⟩ ⟩
|
||||
invert-⊢λ' (⊢-≈ t₁≈t ⊢λ⦂t₁) with invert-⊢λ' ⊢λ⦂t₁
|
||||
... | ⟨ X , ⟨ E , ⟨ t₁≈∀[X]E , ⟨ X⦂Set , Γ,X⊢e⦂E ⟩ ⟩ ⟩ ⟩
|
||||
= ⟨ X , ⟨ E , ⟨ ≈-trans (≈-sym t₁≈t) t₁≈∀[X]E , ⟨ X⦂Set , Γ,X⊢e⦂E ⟩ ⟩ ⟩ ⟩
|
||||
... | ⟨ X , ⟨ E , ⟨ L , ⟨ t₁≈∀[X]E , ⟨ X⦂Set , Γ,X⊢e⦂E ⟩ ⟩ ⟩ ⟩ ⟩
|
||||
= ⟨ X , ⟨ E , ⟨ _ , ⟨ ≈-trans (≈-sym t₁≈t) t₁≈∀[X]E , ⟨ X⦂Set , Γ,X⊢e⦂E ⟩ ⟩ ⟩ ⟩ ⟩
|
||||
|
||||
invert-⊢λ : ∀ {n} {Γ : Context n} {e : Term (suc n)} {t₁ : Term n} {t₂ : Term (suc n)}
|
||||
→ Γ ⊢ `λ e ⦂ ∀[x⦂ t₁ ] t₂
|
||||
→ ∃[ t₁' ] ∃[ t₂' ]
|
||||
→ ∃[ t₁' ] ∃[ t₂' ] ∃[ l ]
|
||||
t₁ ≈ t₁' ×
|
||||
t₂ ≈ t₂' ×
|
||||
Γ ⊢ t₁' ⦂ `Set ×
|
||||
Γ ⊢ t₁' ⦂ (`Setn l) ×
|
||||
Γ , t₁' ⊢ e ⦂ t₂'
|
||||
invert-⊢λ (⊢-λ ⊢λ ⊢λ₁) = ⟨ _ , ⟨ _ , ⟨ mk-≈ _ ↪*-refl ↪*-refl , ⟨ mk-≈ _ ↪*-refl ↪*-refl , ⟨ ⊢λ , ⊢λ₁ ⟩ ⟩ ⟩ ⟩ ⟩
|
||||
invert-⊢λ (⊢-λ ⊢λ ⊢λ₁) = ⟨ _ , ⟨ _ , ⟨ _ , ⟨ mk-≈ _ ↪*-refl ↪*-refl , ⟨ mk-≈ _ ↪*-refl ↪*-refl , ⟨ ⊢λ , ⊢λ₁ ⟩ ⟩ ⟩ ⟩ ⟩ ⟩
|
||||
invert-⊢λ (⊢-≈ t≈∀ ⊢λ) with invert-⊢λ' ⊢λ
|
||||
... | ⟨ X , ⟨ E , ⟨ t≈∀' , ⟨ X⦂Set , Γ,X⊢e⦂E ⟩ ⟩ ⟩ ⟩ with invert-≈-∀ (≈-trans (≈-sym t≈∀) t≈∀')
|
||||
... | ⟨ X , ⟨ E , ⟨ L , ⟨ t≈∀' , ⟨ X⦂Set , Γ,X⊢e⦂E ⟩ ⟩ ⟩ ⟩ ⟩ with invert-≈-∀ (≈-trans (≈-sym t≈∀) t≈∀')
|
||||
... | ⟨ ≈₁ , ≈₂ ⟩
|
||||
= ⟨ X , ⟨ E , ⟨ ≈₁ , ⟨ ≈₂ , ⟨ X⦂Set , Γ,X⊢e⦂E ⟩ ⟩ ⟩ ⟩ ⟩
|
||||
= ⟨ X , ⟨ E , ⟨ L , ⟨ ≈₁ , ⟨ ≈₂ , ⟨ X⦂Set , Γ,X⊢e⦂E ⟩ ⟩ ⟩ ⟩ ⟩ ⟩
|
||||
|
||||
|
||||
|
||||
-- Inversion for pairs
|
||||
|
||||
Reference in New Issue
Block a user