[Agda] question on `compare'
Sergei Meshveliani
mechvel at botik.ru
Wed Feb 11 14:01:14 CET 2015
Indeed! Thank you.
------
Sergei
On Wed, 2015-02-11 at 08:43 -0400, Peter Selinger wrote:
> I think the problem is ≤refl m=n. It should be ≤refl n=m instead.
> -- Peter
>
> Sergei Meshveliani wrote:
> >
> > Please, what is wrong here?
> >
> > --------------------------------------------------------------------
> > open import Function using (case_of_)
> > open import Relation.Binary using (module DecTotalOrder;
> > module StrictTotalOrder; module Tri)
> > open import Data.Empty using (⊥-elim)
> > open import Data.Nat as Nat using (ℕ; _≮_; _≤_; _≥_; _<_)
> > open import Data.Nat.Properties as NatProp using ()
> >
> > open StrictTotalOrder NatProp.strictTotalOrder using (compare)
> > open DecTotalOrder Nat.decTotalOrder using ()
> > renaming (reflexive to ≤refl)
> > open Tri
> >
> >
> > postulate <→≤ : ∀ {m n} → m < n → m ≤ n
> >
> > ≮→≥ : ∀ {m n} → m ≮ n → n ≤ m
> > ≮→≥ {m} {n} m≮n =
> > case compare m n
> > of \
> > { (tri< m<n _ _ ) → ⊥-elim (m≮n m<n)
> > ; (tri≈ _ m=n _ ) → ≤refl m=n
> > ; (tri> _ _ m>n) → let n<m : n < m
> > n<m = m>n
> >
> > n≤m : n ≤ m
> > n≤m = <→≤ {n} {m} n<m
> > in
> > n≤m
> > }
> > ---------------------------------------------------------------
> >
> > " n != m of type ℕ
> > when checking that the expression n≤m has type m ≤ n
> > "
> >
> > The signature for ≮→≥ ends with m ≤ n.
> >
> > So, why does Agda 2.4.2.2 expect m ≤ n
> > ?
> >
> > Thanks,
> >
> > ------
> > Sergei
> >
> >
> > _______________________________________________
> > Agda mailing list
> > Agda at lists.chalmers.se
> > https://lists.chalmers.se/mailman/listinfo/agda
> >
>
>
More information about the Agda
mailing list