Skip to content

Commit

Permalink
One direction of translation preservation is enough
Browse files Browse the repository at this point in the history
One other half of a preservation proof can be constructed if given one
direction of a translation preservation proof and a proof that the
configuration translations are inverses to each other. However, this is
only useful if the translation functions are extensionally equal to each
other. Hence, in most cases, using this theorem will require function
extensionally.
  • Loading branch information
ibbem committed Feb 25, 2024
1 parent ff43cdd commit 11c1259
Showing 1 changed file with 4 additions and 1 deletion.
5 changes: 4 additions & 1 deletion src/Data/IndexedSet.lagda.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ open import Data.Empty.Polymorphic using (⊥)
open import Data.Unit.Polymorphic using (⊤; tt)
open import Data.Product using (_×_; _,_; ∃-syntax; Σ-syntax; proj₁; proj₂)
open import Relation.Binary.PropositionalEquality using (_≗_)
open import Relation.Binary.PropositionalEquality using (_≗_; subst)
open import Relation.Nullary using (¬_)
open import Function using (id; _∘_; Congruent; Surjective) --IsSurjection)
Expand Down Expand Up @@ -254,6 +254,9 @@ irrelevant-index-≅ x const-A const-B =
≅[]-trans {A = A} {C = C} (A⊆B , B⊆A) (B⊆C , C⊆B) =
⊆[]-trans {C = C} A⊆B B⊆C ,
⊆[]-trans {C = A} C⊆B B⊆A
⊆→≅ : ∀ {I J} {A : IndexedSet I} {B : IndexedSet J} → (f : I → J) → (f⁻¹ : J → I) → f ∘ f⁻¹ ≗ id → A ⊆[ f ] B → A ≅[ f ][ f⁻¹ ] B
⊆→≅ {A = A} {B = B} f f⁻¹ f∘f⁻¹ A⊆B = A⊆B , (λ i → Eq.sym (subst (λ j → A (f⁻¹ i) ≈ B j) (f∘f⁻¹ i) (A⊆B (f⁻¹ i))))
```

## Equational Reasoning
Expand Down

0 comments on commit 11c1259

Please sign in to comment.