[Agda] Re: How can I prove associativity of vectors?
flicky frans
flickyfrans at gmail.com
Mon Jan 5 12:31:49 CET 2015
Moreover, it's easy to define `icong' in terms of `cong₂'
icong : ∀ {α β γ} {I : Set α} {i j : I}
-> (A : I -> Set β) {B : {k : I} -> A k -> Set γ} {x : A i} {y : A j}
-> (f : {k : I} -> (x : A k) -> B x)
-> i ≅ j
-> x ≅ y
-> f x ≅ f y
icong A f = cong₂ (λ _ -> f)
However `icong' has its own semantics, and it's much easier to me to parse
icong AgdaReallyRequiresThis someFunction
something-equals-something something-equals-something
than
cong₂ {A = AgdaReallyRequiresThis} (λ _ -> someFunction)
something-equals-something something-equals-something
2015-01-05 13:12 GMT+03:00, Helmut Grohne <grohne at cs.uni-bonn.de>:
> On Thu, Dec 18, 2014 at 12:33:26AM +0200, Andreas Abel wrote:
>> This would mean that the above definition of i-cong can be taken?!
>
> After reading the subthread started by Conor McBride I now realize that
> i-cong is indeed a special case of cong₂. To verify this, I went through
> all of my code an replaced all uses of i-cong without any problems.
> Thus, I believe and agree that i-cong is in fact not needed. I note
> however, that when using cong₂, I still had to make a few implicit
> parameters explicit to make Agda 2.4.2.2 happy.
>
> Thanks for the explanations!
>
> Helmut
> _______________________________________________
> Agda mailing list
> Agda at lists.chalmers.se
> https://lists.chalmers.se/mailman/listinfo/agda
>
More information about the Agda
mailing list