[Agda] cancel-just-in≡

Sergei Meshveliani mechvel at botik.ru
Sat Dec 7 16:47:31 CET 2013


Sorry, I find now the proof 

  cancel-just-in≡ {A} {x} {.x} PE.refl =  PE.refl

And again, a dotted pattern helps to prove  cong₁-gfilter  as well.

The only remaining question is of whether a proof of  cong₁-gfilter
below really needs recursion by the list construction.



On Sat, 2013-12-07 at 15:01 +0400, Sergei Meshveliani wrote:
> People,
> I am trying to prove the congruence of  Data.List.gfilter  by  _≗_ 
> and  _≡_.
> 
> By the second argument  xs : List A,  it is proved simply by   
> PE.cong (gfilter p)
>    where
>    open import Relation.Binary.PropositionalEquality as PE 
>                                                      using (_≡_; _≗_)
> 
> For the first argument, I have  
>               xs : List A,   p p' : A -> Maybe B,  p≗p' : p ≗ p',
> 
> and need to prove   gfilter p xs ≡ gfilter p' xs.
> 
> PE.cong (\ p -> gfilter p xs) p≗p' PE.refl
> 
> does not work here (need it?).
> 
> Then, I try recursion by the list construction:   
> 
>   cong₁-gfilter (x ∷ xs) {p} {p'} p≗p' =  eq
>     where
>     ...
> 
> And then, need to prove   just x ≡ just y → x ≡ y.  
> 
> I suspect that a dotted pattern must help, but fail.
> I write for testing:
> 
>  cancel-just-in≡ : {A : Set} {x y : A} → let _≡A_ = _≡_ {A = A}
>                                              _≡m_ = _≡_ {A = Maybe A}
>                                          in
>                                          just x ≡m just y → x ≡A y
> 
>  cancel-just-in≡ {A} {x} {y} jx=jy  with  just x | just y
>                                        	       	
>  ... | just x | .(just x) =  PE.refl
> 
> The  development Agda of November 2013 (MAlonzo)  
> reports  
> 
> Repeated variables in left hand side: x
> when scope checking the left-hand side
> cancel-just-in≡ {A} {x} {y} jx=jy in the definition of
> cancel-just-in≡
> 
> 1) I do not see here any LHS variable repetition, because second  x  is
> after `with'.
> 2) How to prove  cancel-just-in≡ ?
> 3) How to prove  cong₁-gfilter ?
> 
> Thank you in advance for explanation,
> 
> ------
> Sergei
> 
> 
> _______________________________________________
> Agda mailing list
> Agda at lists.chalmers.se
> https://lists.chalmers.se/mailman/listinfo/agda
> 




More information about the Agda mailing list