<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <p>Sinceran dankon Andreas.</p>
    <span id="result_box" class="" lang="en"><span class="">I don't
        understand that the following function (</span></span><span
      id="result_box" class="" lang="en"><span class="">foldr″) is well
        accepted while </span></span><span id="result_box" class=""
      lang="en"><span class="">foldl″ is not?</span></span><br>
    <span id="result_box" class="" lang="en"><span class="">Mi ne
        komprenas kial la sekva funkcio (</span></span><span
      id="result_box" class="" lang="en"><span class="">foldr″) trafas
        kvankam la funkcio</span></span><span id="result_box" class=""
      lang="en"><span class=""><span id="result_box" class="" lang="en"><span
            class=""> </span></span><span id="result_box" class=""
          lang="en"><span class="">foldl″</span></span> maltrafas?</span></span>
    <p><span id="result_box" class="" lang="en"><span class=""></span></span>foldr″
      : âˆ€ {a} {A : Set a} â†’ (A â†’ A â†’ A) â†’ List⁺ A â†’ A<br>
      foldr″ c (n âˆ· []) = n<br>
      foldr″ c (n âˆ· (x âˆ· xs)) = c x (foldr″ c (n âˆ· xs))<br>
    </p>
    <p><span id="result_box" class="" lang="en"><span class=""> </span></span><span
        id="result_box" class="" lang="en"><span class=""> </span></span><span
        id="result_box" class="" lang="en"><span class="">foldl″ : âˆ€ {a}
          {A : Set a} â†’ (A â†’ A â†’ A) â†’ List⁺ A â†’ A<br>
          foldl″ c (n âˆ· []) = n<br>
          foldl″ c (n âˆ· (x âˆ· xs)) = foldl″ c (c n x âˆ· xs)<br>
        </span></span></p>
    <p><font color="#3333ff">Termination checking failed for the
        following functions: foldl″</font></p>
    <span id="result_box" class="short_text" lang="en"><span class="">I
        also remarked that Agda rejects that:</span></span><br>
    Mi ankaÅ­ remarkis ke agda malakceptas tion:<br>
    <br>
    foldr‴  : âˆ€ {a} {A : Set a} â†’ (A â†’ A â†’ A) â†’ List⁺ A â†’ A<br>
    foldr‴ c (n âˆ· []) = n<br>
    foldr‴ c (n âˆ· (x âˆ· xs)) = c x (foldr‴ c (<b><font color="#990000">id</font></b>
    n âˆ· xs))<br>
    Â Â  where<br>
    Â Â Â  open import Function using (id)<br>
    <font color="#3333ff"><br>
      Termination checking failed for the following functions:</font><font
      color="#3333ff"> foldr‴ </font><br>
    <br>
    Andreas,<span id="result_box" class="" lang="en"><span class="">
        unfortunately </span></span> I really don't understand your
    explanation of the /length/ of the list!<br>
    Andreas, bedaûrinde mi vere ne komprenis vian klarigon pri la
    grandeco de la listo!<br>
    <br>
    <br>
    <div class="moz-cite-prefix">On 2017-08-16 22:54, Andreas Abel
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:6e6a4b66-40fe-0806-53ad-98cce40bc480@chalmers.se">The
      function is structurally recursive on the /length/ of the list,
      not on the list itself.  You can expose the length by
      <br>
      <br>
      Â  1. using vectors instead of lists, or
      <br>
      Â  2. using sized lists (sized types).
      <br>
      <br>
      Alternatively, you can just define an auxiliary function first
      which takes the first element of List+ as separate argument.  Then
      the recursion on the list goes through.
      <br>
      <br>
      Best,
      <br>
      Andreas
      <br>
      <br>
      On 16.08.2017 22:23, Serge Leblanc wrote:
      <br>
      <blockquote type="cite">Thank you for your help.
        <br>
        <br>
        Why Agda refuses the following  structurally decreasing
        function?
        <br>
        <br>
        foldl″ : âˆ€ {a} {A : Set a} â†’ (A â†’ A â†’ A) â†’ List⁺ A â†’ A
        <br>
        foldl″ c (n âˆ· []) = n
        <br>
        foldl″ c (n âˆ· (x âˆ· xs)) = foldl″ c (c n x âˆ· xs)
        <br>
        <br>
        /home/serge/agda/Maximal.agda:47,1-49,50 Termination checking
        failed for the following functions: foldl″ Problematic calls:
        foldl″ c (c n x âˆ· xs) (at
        /home/serge/agda/Maximal.agda:49,27-33)
        <br>
        <br>
        On 2017-08-14 20:55, Ulf Norell wrote:
        <br>
        <blockquote type="cite">The fact that foldr₁ is using a private
          recursive helper function will likely make it impossible to
          prove your theorem.
          <br>
          <br>
          / Ulf
          <br>
          <br>
          On Mon, Aug 14, 2017 at 6:47 PM, Jesper Cockx
          <<a class="moz-txt-link-abbreviated" href="mailto:Jesper@sikanda.be">Jesper@sikanda.be</a> <a class="moz-txt-link-rfc2396E" href="mailto:Jesper@sikanda.be"><mailto:Jesper@sikanda.be></a>>
          wrote:
          <br>
          <br>
          Â Â Â  Maybe you can explain what approaches you have already
          tried and
          <br>
          Â Â Â  why you got stuck? I think people would be more inclined
          to help
          <br>
          Â Â Â  that way.
          <br>
          <br>
          Â Â Â  To get you started on proof1, here's a hint: since you are
          proving
          <br>
          Â Â Â  something about the functions foldr₁ and _⊔_, you can take
          a look
          <br>
          Â Â Â  at their definitions and follow the same structure for
          your proof.
          <br>
          Â Â Â  For example, since foldr₁ is defined in terms of the
          helper
          <br>
          Â Â Â  function foldr, you probably also need to define a helper
          lemma
          <br>
          Â Â Â  that proves a similar statement about foldr.
          <br>
          <br>
          Â Â Â  Best regards,
          <br>
          Â Â Â  Jesper
          <br>
          <br>
          Â Â Â  2017-08-14 18:33 GMT+02:00 Serge Leblanc
          <<a class="moz-txt-link-abbreviated" href="mailto:33dbqnxpy7if@gmail.com">33dbqnxpy7if@gmail.com</a>
          <br>
          Â Â Â  <a class="moz-txt-link-rfc2396E" href="mailto:33dbqnxpy7if@gmail.com"><mailto:33dbqnxpy7if@gmail.com></a>>:
          <br>
          <br>
          Â Â Â Â Â Â Â  Saluton, neniu bonvolas helpi min?
          <br>
          <br>
          Â Â Â Â Â Â Â  Hi, nobody wants to help me?
          <br>
          <br>
          <br>
          Â Â Â Â Â Â Â  On 2017-08-06 18:23, Serge Leblanc wrote:
          <br>
          <blockquote type="cite">        Dear All,
            <br>
            Â Â Â Â Â Â Â  I need help to finish these lemmas.
            <br>
            Â Â Â Â Â Â Â  They have the same meaning, I am right?
            <br>
            Â Â Â Â Â Â Â  All helpers are welcome!
            <br>
            <br>
            Â Â Â Â Â Â Â  Estimata Ä‰iuj,
            <br>
            Â Â Â Â Â Â Â  Mi bezonas helpon por daÅ­rigi ci-tiuj pruvojn!
            <br>
            Â Â Â Â Â Â Â  Äˆu ili havas je la saman signifon! Äˆu mi pravas?
            <br>
            Â Â Â Â Â Â Â  Äˆiuj helpantoj estas bonvenaj!
            <br>
            <br>
            Â Â Â Â Â Â Â  Sincere.
            <br>
            Â Â Â Â Â Â Â  -- Â Â Â Â Â Â Â  Serge Leblanc
            <br>
            Â Â Â Â Â Â Â 
            ------------------------------------------------------------------------
            <br>
            Â Â Â Â Â Â Â  gpg --search-keys 0x67B17A3F
            <br>
            Â Â Â Â Â Â Â  Fingerprint = 2B2D AC93 8620 43D3 D2C2 C2D3 B67C
            F631 67B1 7A3F
            <br>
          </blockquote>
          <br>
          Â Â Â Â Â Â Â  -- Â Â Â Â Â Â Â  Serge Leblanc
          <br>
          Â Â Â Â Â Â Â 
          ------------------------------------------------------------------------
          <br>
          Â Â Â Â Â Â Â  gpg --search-keys 0x67B17A3F
          <br>
          Â Â Â Â Â Â Â  Fingerprint = 2B2D AC93 8620 43D3 D2C2 C2D3 B67C F631
          67B1 7A3F
          <br>
          <br>
          Â Â Â Â Â Â Â  _______________________________________________
          <br>
          Â Â Â Â Â Â Â  Agda mailing list
          <br>
          Â Â Â Â Â Â Â  <a class="moz-txt-link-abbreviated" href="mailto:Agda@lists.chalmers.se">Agda@lists.chalmers.se</a>
          <a class="moz-txt-link-rfc2396E" href="mailto:Agda@lists.chalmers.se"><mailto:Agda@lists.chalmers.se></a>
          <br>
          Â Â Â Â Â Â Â  <a class="moz-txt-link-freetext" href="https://lists.chalmers.se/mailman/listinfo/agda">https://lists.chalmers.se/mailman/listinfo/agda</a>
          <br>
          Â Â Â Â Â Â Â 
          <a class="moz-txt-link-rfc2396E" href="https://lists.chalmers.se/mailman/listinfo/agda"><https://lists.chalmers.se/mailman/listinfo/agda></a>
          <br>
          <br>
          <br>
          <br>
          Â Â Â  _______________________________________________
          <br>
          Â Â Â  Agda mailing list
          <br>
          Â Â Â  <a class="moz-txt-link-abbreviated" href="mailto:Agda@lists.chalmers.se">Agda@lists.chalmers.se</a>
          <a class="moz-txt-link-rfc2396E" href="mailto:Agda@lists.chalmers.se"><mailto:Agda@lists.chalmers.se></a>
          <br>
          Â Â Â  <a class="moz-txt-link-freetext" href="https://lists.chalmers.se/mailman/listinfo/agda">https://lists.chalmers.se/mailman/listinfo/agda</a>
          <br>
          Â Â Â  <a class="moz-txt-link-rfc2396E" href="https://lists.chalmers.se/mailman/listinfo/agda"><https://lists.chalmers.se/mailman/listinfo/agda></a>
          <br>
          <br>
          <br>
        </blockquote>
        <br>
        -- <br>
        Serge Leblanc
        <br>
------------------------------------------------------------------------
        <br>
        gpg --search-keys 0x67B17A3F
        <br>
        Fingerprint = 2B2D AC93 8620 43D3 D2C2 C2D3 B67C F631 67B1 7A3F
        <br>
        <br>
        <br>
        _______________________________________________
        <br>
        Agda mailing list
        <br>
        <a class="moz-txt-link-abbreviated" href="mailto:Agda@lists.chalmers.se">Agda@lists.chalmers.se</a>
        <br>
        <a class="moz-txt-link-freetext" href="https://lists.chalmers.se/mailman/listinfo/agda">https://lists.chalmers.se/mailman/listinfo/agda</a>
        <br>
        <br>
      </blockquote>
      <br>
      <br>
    </blockquote>
    <br>
    <div class="moz-signature">-- <br>
      Serge Leblanc
      <hr>
      gpg --search-keys 0x67B17A3F
      <br>
      Fingerprint = 2B2D AC93 8620 43D3 D2C2 C2D3 B67C F631 67B1 7A3F</div>
  </body>
</html>