Skip to content

Commit 7a56dee

Browse files
committed
Fix small mistakes
1 parent 3b6e4cb commit 7a56dee

File tree

1 file changed

+12
-11
lines changed

1 file changed

+12
-11
lines changed

formal-spec/CategoricalCrypto/SRel.agda

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ trace : (R : SRel A B) → SRel.State R → List A → List B → Type
4242
trace R s [] [] =
4343
trace R s [] (_ ∷ _) =
4444
trace R s (_ ∷ _) [] =
45-
trace R s (x ∷ xs) (y ∷ ys) = ∃[ s' ] SRel.rel R s x y s' × trace R s xs ys
45+
trace R s (x ∷ xs) (y ∷ ys) = ∃[ s' ] SRel.rel R s x y s' × trace R s' xs ys
4646

4747
_≤ᵗ_ : SRel A B SRel A B Type
4848
R₁ ≤ᵗ R₂ = s₁ ∃[ s₂ ] a b trace R₁ s₁ a b ⇔ trace R₂ s₂ a b
@@ -82,13 +82,14 @@ private variable R R₁ R₂ R₃ R₄ : SRel A B
8282
trace⇔₁ s [] [] = R.K-refl
8383
trace⇔₁ s [] (_ ∷ _) = R.K-refl
8484
trace⇔₁ s (_ ∷ _) [] = R.K-refl
85-
trace⇔₁ s (a ∷ as) (b ∷ bs) = ∃-cong S₁↔S₂ (rel₁⇔rel₂' ×-cong trace⇔₁ s as bs)
85+
trace⇔₁ s (a ∷ as) (b ∷ bs) = ∃-cong S₁↔S₂ λ {s'} rel₁⇔rel₂' ×-cong trace⇔₁ s' as bs
8686

8787
trace⇔₂ : s as bs trace R₂ s as bs ⇔ trace R₁ (from s) as bs
8888
trace⇔₂ s [] [] = R.K-refl
8989
trace⇔₂ s [] (_ ∷ _) = R.K-refl
9090
trace⇔₂ s (_ ∷ _) [] = R.K-refl
91-
trace⇔₂ s (a ∷ as) (b ∷ bs) = R.SK-sym $ ∃-cong S₁↔S₂ (rel₁f⇔rel₂t ×-cong R.SK-sym (trace⇔₂ s as bs))
91+
trace⇔₂ s (a ∷ as) (b ∷ bs) = R.SK-sym $ ∃-cong S₁↔S₂ λ {s'} rel₁f⇔rel₂t ×-cong
92+
R.SK-sym (subst (λ s _ ⇔ trace _ s _ _) (strictlyInverseʳ s') (trace⇔₂ (to s') as bs))
9293

9394
infix 4 _≡ᵗ_ _≡ⁱ_
9495

@@ -211,14 +212,14 @@ Monoidal-SRelC : Monoidal SRelC
211212
Monoidal-SRelC = monoidalHelper SRelC record
212213
{ ⊗ = record
213214
{ F₀ = ⊗₀
214-
; F₁ = ⊗₁
215+
; F₁ =.
215216
; identity = ≡ᵉ⇒≡ᵗ record
216217
{ S₁↔S₂ = ×-identityʳ ℓ0 _
217218
; rel₁⇔rel₂' = λ {_} {a} mk⇔
218-
(λ where (⊗₁₁ refl) refl ; (⊗₁₂ refl) refl)
219-
(λ where refl case a returning (λ a ⊗-rel _ _ a a _) of λ where
220-
(inj₁ x) ⊗₁₁ refl
221-
(inj₂ y) ⊗₁₂ refl)
219+
(λ where (⊗.⊗₁₁ refl) refl ; (⊗.⊗₁₂ refl) refl)
220+
(λ where refl case a returning (λ a .⊗-rel _ _ a a _) of λ where
221+
(inj₁ x) .⊗₁₁ refl
222+
(inj₂ y) .⊗₁₂ refl)
222223
}
223224
; homomorphism = {!!}
224225
; F-resp-≈ = {!!}
@@ -230,19 +231,19 @@ Monoidal-SRelC = monoidalHelper SRelC record
230231
; unitorˡ-commute = λ {_} {_} {f} begin
231232
-- cannot lift this via `StatelessRel`, since `f` isn't stateless
232233
-- this is the only reason, for stateless `f`s this can be lifted
233-
Functor.F₁ StatelessRel RelsMonoidal.λ⇒ SRelC.∘ (⊗₁ (SRelC.id , f))
234+
Functor.F₁ StatelessRel RelsMonoidal.λ⇒ SRelC.∘ (⊗.₁ (SRelC.id , f))
234235
≈⟨ {!!}
235236
f SRelC.∘ Functor.F₁ StatelessRel RelsMonoidal.λ⇒ ∎
236237
; unitorʳ-commute = {!!}
237238
; assoc-commute = {!!}
238239
; triangle = begin
239-
⊗₁ (SRelC.id , Functor.F₁ StatelessRel RelsMonoidal.λ⇒) SRelC.∘ Functor.F₁ StatelessRel RelsMonoidal.α⇒
240+
.₁ (SRelC.id , Functor.F₁ StatelessRel RelsMonoidal.λ⇒) SRelC.∘ Functor.F₁ StatelessRel RelsMonoidal.α⇒
240241
≈⟨ {!!}-- by functor laws
241242
Functor.F₁ StatelessRel (RelsMonoidal.id RelsMonoidal.⊗₁ RelsMonoidal.λ⇒ RelsMonoidal.∘ RelsMonoidal.α⇒)
242243
≈⟨ Functor.F-resp-≈ StatelessRel RelsMonoidal.triangle ⟩
243244
Functor.F₁ StatelessRel (RelsMonoidal.ρ⇒ RelsMonoidal.⊗₁ RelsMonoidal.id)
244245
≈⟨ {!!}-- by functor laws
245-
⊗₁ (Functor.F₁ StatelessRel RelsMonoidal.ρ⇒ , SRelC.id) ∎
246+
.₁ (Functor.F₁ StatelessRel RelsMonoidal.ρ⇒ , SRelC.id) ∎
246247
; pentagon = {!!} -- same proof as triangle
247248
}
248249
where open Category.HomReasoning SRelC

0 commit comments

Comments
 (0)