Code Monkey home page Code Monkey logo

Comments (7)

tlringer avatar tlringer commented on August 17, 2024

Details: What happens is that one function (app, the way it is generated from the preprocessed version) gets lifted incorrectly, and then all of the other proofs that reference it fail. This is because the rules I have to deal with non-primitive projections in the code assume everything is fully eta-expanded, but there's a place the code isn't eta-expanding where it should be, so they don't run and app doesn't deal with non-primitive projections. Then later on proofs about app fail because projections aren't primitive.

from pumpkin-pi.

tlringer avatar tlringer commented on August 17, 2024

Partially fixed in a branch. The code needs to be smart enough to:

  1. Fully eta expand in certain places (still breaking)
  2. Repack all applications that result in the goal type

Fixing the second of these fixed 27/31 errors. Need to check performance and so on, and see if I can get the remaining 4. I'm not sure where the best place to repack is, generally. Non-primitive projections are annoying.

from pumpkin-pi.

tlringer avatar tlringer commented on August 17, 2024

2 more, so only 2 left.

These two were interesting. The SECTION/RETRACTION rules actually need to recurse too. We can think of these as recursing after vs. recursing before, I guess, but in terms of implementation there is no difference.

from pumpkin-pi.

tlringer avatar tlringer commented on August 17, 2024

To understand this, note that your eliminator might produce, say, a list of lists. And then in your lifted motive you'll end up with a forgotten sigT (vector (list A)). That's a nice start, but you want to make sure you lift the inner (list A) too.

from pumpkin-pi.

tlringer avatar tlringer commented on August 17, 2024

I set a one-day timeout for myself on this with respect to the camera ready, so unfortunately I'm going to call it with those last 2 failing cases still there. 2 is a lot better than 31. If I fix these after the camera ready and it turns out they are interesting like the last one, I'll post an errata on my website. My suspicion though is that these two are implementation errors, since they seem to revolve around mistakes in lazy eta expansion.

from pumpkin-pi.

tlringer avatar tlringer commented on August 17, 2024

The remaining 2 seem to be thanks to DEVOID not understand how to lift the implicit identity function when you have a hypothesis of type (list T * list T). Thus definitional equalities are not preserved in that case. This seems to happen with partition, so that lifted proofs about partition sometimes do not type check.

from pumpkin-pi.

tlringer avatar tlringer commented on August 17, 2024

Should check with renewed understanding of the limitations of matching and so on

from pumpkin-pi.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.