Comments (7)
In fact, in PML1, this appears when dealing with the order on natural. Typically when assuming statements like x < x.
from pml.
There seems to be a use case in lib/int_proofs.pml now.
from pml.
How do we remove the label wait use case ?
from pml.
commit e274f49 is a progress ... But a proof of cantor diagonal argument produces
a term fixpoint, not a cyclic value and PML loops also:
val diag : ∀idx ∈(nat ⇒ (nat ⇒ nat)), (∀f∈(nat → nat), ∃m, m∈nat | idx m ≡ f) ⇒ bot =
fun idx xdi {
let f : nat ⇒ nat = fun n { S[idx n n] };
let m = xdi f;
deduce idx m ≡ f;
let x = f m; // loops here
✂
}
closing definition does not solve the problem ... it should.
from pml.
idx m has to be blocked in the statement also! it works now
from pml.
@rlepigre we have a use case that works in examples/cantor_diagonal.pml.
Remark (in the file) about proving this for classical nat -> nat ... I do not know how to do that.
It is not a contradiction in the model to have t = succ t for a term t of type nat as both term are indeed equivalent. Having a diverging term in nat is a contradiction with the model ... How to have this in the implementation is another problem...
I propose to close, as closing definition + the added cycle test in the pool seems enough ?
from pml.
This is now solved for a long time, let's close as suggested above.
from pml.
Related Issues (20)
- avoid canonical term in equiv.ml (mantis #41) HOT 1
- Better control of current totality status HOT 3
- PML can not always use function equalities that it learned HOT 4
- Theory
- pool optim, toward only head normal term added to the pool
- Cost of logging and Chrono HOT 1
- Reinforce completeness of auto and totality HOT 3
- Subtyping heuristic and auto case
- auto cases! use information from typing
- Incompleteness of the termination checker that seems solvable
- Incompleteness of typing/subtyping HOT 1
- PML loops HOT 1
- Contradiction is not always detected. HOT 2
- A minimal user documentation is needed HOT 1
- The Impl construct has no parse rule HOT 1
- Improve type inference
- Finish printing
- We should be able to use constraint ordering on ordinals.
- Add a syntaxtic sugar to extend record.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pml.