]> matita.cs.unibo.it Git - fireball-separation.git/log
fireball-separation.git
5 years agoReal evil problem found! strong_simple_constants
acondolu [Mon, 11 Jun 2018 14:22:04 +0000 (16:22 +0200)]
Real evil problem found!

One must store arguments for later usage :-(

5 years agoAdded usual evil problem
acondolu [Mon, 11 Jun 2018 12:10:30 +0000 (14:10 +0200)]
Added usual evil problem

5 years agoFinish ignores rigid arguments; auto tries to diverge the arguments of an inert
acondolu [Mon, 11 Jun 2018 09:56:53 +0000 (11:56 +0200)]
Finish ignores rigid arguments; auto tries to diverge the arguments of an inert

5 years agoCode simplication & fix
acondolu [Mon, 11 Jun 2018 09:54:49 +0000 (11:54 +0200)]
Code simplication & fix

j+1 was j

5 years agoFix: it was always stepping on one non-existing argument
acondolu [Mon, 11 Jun 2018 09:53:21 +0000 (11:53 +0200)]
Fix: it was always stepping on one non-existing argument

5 years ago(Almost-)Correct handling of garbage in Simple
acondolu [Sun, 10 Jun 2018 15:35:35 +0000 (17:35 +0200)]
(Almost-)Correct handling of garbage in Simple

- subst_in_problem, step now return a list of terms from garbages
  that were activated, i.e. brought on toplevel after a reduction
- auto iterated on that garbage

TODO:
- remove sanity function
- problems/simple.constants.1 fails :-(

5 years agoUsing C instead of @ to combine more convergents in p.conv
acondolu [Sun, 10 Jun 2018 15:28:28 +0000 (17:28 +0200)]
Using C instead of @ to combine more convergents in p.conv

5 years agoImproved definition of eta_eq
acondolu [Sun, 10 Jun 2018 15:27:16 +0000 (17:27 +0200)]
Improved definition of eta_eq

Probably still not just right

5 years agoStep possible beyond the args of p.div
acondolu [Sun, 10 Jun 2018 14:49:49 +0000 (16:49 +0200)]
Step possible beyond the args of p.div

5 years agoImproved backtracking in Simple
acondolu [Sun, 10 Jun 2018 14:38:56 +0000 (16:38 +0200)]
Improved backtracking in Simple

- Removed Fail exception, replaced by combination
  of Failure, Backtrack, Unseparable
- Added label to problem

5 years agoImplemented garbage in Num
acondolu [Sun, 10 Jun 2018 11:37:51 +0000 (13:37 +0200)]
Implemented garbage in Num

- Implemented parsing of garbage
  e.g. (x. x x , A , B , ...) where the garbage is A and B and ...
- Garbage is not implemented in Lambda4, but implemented in Num (except in subst i.e. reduction)
  (see `assert g = []`)
- Added sample problems with garbage

5 years agoFix: bug in printing garbage, did not consider the level
acondolu [Sun, 10 Jun 2018 11:22:20 +0000 (13:22 +0200)]
Fix: bug in printing garbage, did not consider the level

5 years agoAdded garbage to L
acondolu [Sat, 9 Jun 2018 08:27:14 +0000 (10:27 +0200)]
Added garbage to L

Note: eta_eq ignores garbage at the moment

5 years agoRemoved eat, p.stepped, p.phase and t.B
acondolu [Sat, 9 Jun 2018 08:19:56 +0000 (10:19 +0200)]
Removed eat, p.stepped, p.phase and t.B

5 years agoMore randomness in test generation
Claudio Sacerdoti Coen [Thu, 7 Jun 2018 17:43:58 +0000 (19:43 +0200)]
More randomness in test generation

5 years agoAdded problems that fail when eat is done incorrectly
acondolu [Thu, 7 Jun 2018 16:10:03 +0000 (18:10 +0200)]
Added problems that fail when eat is done incorrectly

i.e. on arguments before the max arity in the conv

5 years agoUsing andrea's finish instead of eat. All tests succeed.
acondolu [Thu, 7 Jun 2018 16:08:10 +0000 (18:08 +0200)]
Using andrea's finish instead of eat. All tests succeed.

But again, most generated tests are solved in one step.

5 years agoTrailing constant args in p.div are removed by sanity
acondolu [Thu, 7 Jun 2018 16:06:05 +0000 (18:06 +0200)]
Trailing constant args in p.div are removed by sanity

Because they cannot contribute to any usable eta-difference

5 years agoIt shows bug with new eat
Claudio Sacerdoti Coen [Thu, 7 Jun 2018 09:40:53 +0000 (11:40 +0200)]
It shows bug with new eat

5 years agoNew failing test
Claudio Sacerdoti Coen [Thu, 7 Jun 2018 09:19:49 +0000 (11:19 +0200)]
New failing test

5 years agoAdded tests with constants
acondolu [Thu, 7 Jun 2018 09:13:09 +0000 (11:13 +0200)]
Added tests with constants

- Enabled with flag --with-const
- Stores failing problems in problems/ folder

5 years agoProblems that are not distinct commented out.
Claudio Sacerdoti Coen [Wed, 6 Jun 2018 15:37:29 +0000 (17:37 +0200)]
Problems that are not distinct commented out.

Those problems can be separated, but picking a different
term to diverge

5 years agoFix: eating a lambda^n.C args is bad
Claudio Sacerdoti Coen [Wed, 6 Jun 2018 15:36:55 +0000 (17:36 +0200)]
Fix: eating a lambda^n.C args is bad

I know eat an argument which is a flexible inert.
What to do if there is none? I think we should backtrack;
for the time being I raise an assert false.

5 years agoAll output to stdout (in place of stderr).
Claudio Sacerdoti Coen [Wed, 6 Jun 2018 15:02:10 +0000 (17:02 +0200)]
All output to stdout (in place of stderr).

This commit could be cherry-picked in the other branches as well.

5 years agoFix: find_eta_difference now works with inerts of arbitrary length
Claudio Sacerdoti Coen [Wed, 6 Jun 2018 15:01:41 +0000 (17:01 +0200)]
Fix: find_eta_difference now works with inerts of arbitrary length

All simple.x tests now pass (same for automatically generated ones)

5 years agoForgot to commit yesterday file with problems with constants
acondolu [Sat, 2 Jun 2018 15:59:07 +0000 (17:59 +0200)]
Forgot to commit yesterday file with problems with constants

5 years agoExperimenting with backtracking and stepping on "all" possible subterms
acondolu [Fri, 1 Jun 2018 15:45:48 +0000 (17:45 +0200)]
Experimenting with backtracking and stepping on "all" possible subterms

5 years agoImplementing constants
acondolu [Fri, 1 Jun 2018 15:12:42 +0000 (17:12 +0200)]
Implementing constants

auto now iterates the eta differences and backtracks if no more available

5 years agoRemoved parameter from C
acondolu [Fri, 1 Jun 2018 14:17:19 +0000 (16:17 +0200)]
Removed parameter from C

5 years agoMore comments and improved find_eta_difference
acondolu [Fri, 1 Jun 2018 12:27:15 +0000 (14:27 +0200)]
More comments and improved find_eta_difference

5 years agoMore comments and better variable names
acondolu [Fri, 1 Jun 2018 08:18:20 +0000 (10:18 +0200)]
More comments and better variable names

5 years agoRenamed output files
acondolu [Fri, 1 Jun 2018 07:48:13 +0000 (09:48 +0200)]
Renamed output files

5 years agoRemoved warning
acondolu [Fri, 1 Jun 2018 07:44:18 +0000 (09:44 +0200)]
Removed warning

5 years agoFix lifting bug in unwind
Claudio Sacerdoti Coen [Thu, 31 May 2018 23:05:17 +0000 (01:05 +0200)]
Fix lifting bug in unwind

problems/simple.* now pass

5 years agoSimplified divergent problem
Claudio Sacerdoti Coen [Thu, 31 May 2018 22:34:45 +0000 (00:34 +0200)]
Simplified divergent problem

C diverges in pure

5 years agoMake the code OCaml-4.06.1-friendly
Claudio Sacerdoti Coen [Thu, 31 May 2018 21:45:14 +0000 (23:45 +0200)]
Make the code OCaml-4.06.1-friendly

5 years agoUpdated simple with current parser
acondolu [Thu, 31 May 2018 21:38:31 +0000 (23:38 +0200)]
Updated simple with current parser

- Removed parser_andrea
- Generalized problems.ml
- Moved sample problems from simple.ml to problems/simple.0

5 years agoSimpler tests in simple_test.ml + Added diverging tests in simple.1
acondolu [Thu, 31 May 2018 19:11:29 +0000 (21:11 +0200)]
Simpler tests in simple_test.ml + Added diverging tests in simple.1

5 years agoEat was erasing terms from C that made it diverge
acondolu [Thu, 31 May 2018 16:30:38 +0000 (18:30 +0200)]
Eat was erasing terms from C that made it diverge

5 years agoBug in mk_app with C
acondolu [Thu, 31 May 2018 16:29:52 +0000 (18:29 +0200)]
Bug in mk_app with C

5 years agoFix no_leading_lambdas to account for a step on x on an argument starting with x
acondolu [Thu, 31 May 2018 16:29:30 +0000 (18:29 +0200)]
Fix no_leading_lambdas to account for a step on x on an argument starting with x

5 years agoNew (in-)decision procedure for termination
acondolu [Thu, 31 May 2018 16:27:51 +0000 (18:27 +0200)]
New (in-)decision procedure for termination

5 years agoMore bound vars in simple_test
acondolu [Thu, 31 May 2018 13:48:06 +0000 (15:48 +0200)]
More bound vars in simple_test

5 years agoClean up, improve comments, move functions
acondolu [Thu, 31 May 2018 13:32:01 +0000 (15:32 +0200)]
Clean up, improve comments, move functions

`run' is the new entrypoint in simple.ml

5 years agoAdded check for eta_subterm in `solve'
acondolu [Thu, 31 May 2018 13:17:06 +0000 (15:17 +0200)]
Added check for eta_subterm in `solve'

Reverted sanity to old syntax

5 years agoAdded simple_test.ml
acondolu [Thu, 31 May 2018 12:55:57 +0000 (14:55 +0200)]
Added simple_test.ml

5 years agoMoved andrea.ml to simple.ml
acondolu [Thu, 31 May 2018 12:42:55 +0000 (14:42 +0200)]
Moved andrea.ml to simple.ml

5 years agoAdded constructor for constants
acondolu [Thu, 31 May 2018 12:40:38 +0000 (14:40 +0200)]
Added constructor for constants

TODO: correctly translate constants to pure terms in `purify'

5 years agoMade bombs more explosive (strongly)
acondolu [Wed, 30 May 2018 16:46:04 +0000 (18:46 +0200)]
Made bombs more explosive (strongly)

5 years agoRestored good check for Done
acondolu [Wed, 30 May 2018 16:06:14 +0000 (18:06 +0200)]
Restored good check for Done

5 years agoSimple strong separation implemented!
acondolu [Wed, 30 May 2018 14:31:24 +0000 (16:31 +0200)]
Simple strong separation implemented!

- Two phases for eat
- Moved code
- Reduction does not diverge (replaces DD with B)

5 years agoAdded check with purification to andrea.ml
acondolu [Wed, 30 May 2018 13:29:30 +0000 (15:29 +0200)]
Added check with purification to andrea.ml

Note! It now diverges because it uses B (bottoms)

5 years agoMoved function, fix indentation, removed parsing of bombs
acondolu [Wed, 30 May 2018 12:17:18 +0000 (14:17 +0200)]
Moved function, fix indentation, removed parsing of bombs

5 years agoClean-up step function; move code
acondolu [Wed, 30 May 2018 11:49:13 +0000 (13:49 +0200)]
Clean-up step function; move code

5 years agoRemoved pacman
acondolu [Wed, 30 May 2018 11:18:57 +0000 (13:18 +0200)]
Removed pacman

5 years agoClean up
acondolu [Wed, 30 May 2018 10:36:15 +0000 (12:36 +0200)]
Clean up

5 years agoget_subterm_with_head_and_args goes under lambdas
acondolu [Tue, 29 May 2018 09:03:53 +0000 (11:03 +0200)]
get_subterm_with_head_and_args goes under lambdas

5 years agoRemoved useless `isdiv' flag
acondolu [Tue, 29 May 2018 09:03:42 +0000 (11:03 +0200)]
Removed useless `isdiv' flag

5 years agoClean-up to examples. Removed tests.
acondolu [Tue, 29 May 2018 09:03:13 +0000 (11:03 +0200)]
Clean-up to examples. Removed tests.

5 years agoSimple algorithm by Andrea
acondolu [Wed, 30 May 2018 12:48:49 +0000 (14:48 +0200)]
Simple algorithm by Andrea

Cherry-picked from f260

5 years agoMoved env_of_sigma to Pure strong
acondolu [Wed, 30 May 2018 13:27:24 +0000 (15:27 +0200)]
Moved env_of_sigma to Pure

5 years agoTentative implementation of strong separation algorithm
acondolu [Mon, 28 May 2018 15:08:46 +0000 (17:08 +0200)]
Tentative implementation of strong separation algorithm

- A `Match from num is translated to pure by masking branches
  with underscore lambdas
- The eating step on the divergent does not create a substitution in sigma
  (to be understood...)
- In the branch of matches, \_. !divergent is translated to delta
- The checks in dangerous must still be fixed to go under lambdas

5 years agoMachine implements strong reduction
acondolu [Mon, 28 May 2018 13:14:34 +0000 (15:14 +0200)]
Machine implements strong reduction

The machine is very inefficient (uses unwind under lambdas)

5 years agoDetection of divergents master weak-reduction-separation
acondolu [Mon, 28 May 2018 13:03:00 +0000 (15:03 +0200)]
Detection of divergents

5 years agoBug fixed in pretty-printing of original names under lambdas
acondolu [Tue, 25 Jul 2017 14:57:26 +0000 (16:57 +0200)]
Bug fixed in pretty-printing of original names under lambdas

5 years agoFix in pretty-printing of match
acondolu [Tue, 25 Jul 2017 14:49:11 +0000 (16:49 +0200)]
Fix in pretty-printing of match

5 years agoImplemented parsing of "nominal" variables (`@`)
acondolu [Tue, 25 Jul 2017 08:21:16 +0000 (10:21 +0200)]
Implemented parsing of "nominal" variables (`@`)

Each occurrence of `@` is parsed as a fresh free variable

5 years agoAllow comments (#) at the end of terms
acondolu [Mon, 24 Jul 2017 14:15:53 +0000 (16:15 +0200)]
Allow comments (#) at the end of terms

5 years agoLogging options to display measure of single terms in string_of_problem
acondolu [Mon, 24 Jul 2017 14:15:19 +0000 (16:15 +0200)]
Logging options to display measure of single terms in string_of_problem

5 years agoFixed bug in computing special k
acondolu [Mon, 24 Jul 2017 12:55:31 +0000 (14:55 +0200)]
Fixed bug in computing special k

5 years agoRemoved special strategies in choose_step
acondolu [Mon, 24 Jul 2017 12:05:08 +0000 (14:05 +0200)]
Removed special strategies in choose_step

5 years agoBetter error messages in parser
acondolu [Sun, 23 Jul 2017 20:23:34 +0000 (22:23 +0200)]
Better error messages in parser

(cherry picked from commit 54e55518261ee5f3c68758ea070b1bac41400e54)

5 years agoRevert subst in branches of matches
acondolu [Sun, 23 Jul 2017 07:59:00 +0000 (09:59 +0200)]
Revert subst in branches of matches

Actually, it could be moved in susbt_in_problem,
hence doing it only once (on the deltas), instead
of replacing multiple times like now (useless).

(cherry picked from commit bd3a8ee424e495ab4003f6d4cb88579f29e3bc3a)

5 years agoComments, fix indentation and
acondolu [Sat, 22 Jul 2017 20:35:44 +0000 (22:35 +0200)]
Comments, fix indentation and

(cherry picked from commit 0a50c398d9eef65620f18f99ef675770b50a920c)

5 years agoRenamed in critical_showstoppers: showstoppers -> inedible (I don't know why)
acondolu [Sat, 22 Jul 2017 19:58:31 +0000 (21:58 +0200)]
Renamed in critical_showstoppers: showstoppers -> inedible (I don't know why)

(cherry picked from commit dc829653c03f7bf0977addabe480e7c8b178bad1)

5 years agoSimplified arity_of, precompute_edible_data, critical_showsteppers
acondolu [Sat, 22 Jul 2017 19:34:23 +0000 (21:34 +0200)]
Simplified arity_of, precompute_edible_data, critical_showsteppers

(cherry picked from commit 4c81587c5f911c4d5f818765106bb5373967d715)

5 years agoAdded a couple of tests which MUST fail
acondolu [Fri, 25 May 2018 15:03:18 +0000 (17:03 +0200)]
Added a couple of tests which MUST fail

5 years agoFixed computation of arity for top-level inerts
acondolu [Sat, 22 Jul 2017 19:00:26 +0000 (21:00 +0200)]
Fixed computation of arity for top-level inerts

(cherry picked from commit 5682bf463b89edb7756020fe7b838eb846d6c771)

5 years agoSimplified not-working example
acondolu [Sat, 22 Jul 2017 18:59:55 +0000 (20:59 +0200)]
Simplified not-working example

(cherry picked from commit 180710db0f9d6f81edd7a5cc1bfce41e3b3e620a)

5 years agoMissing parenthesis fixed
Claudio Sacerdoti Coen [Tue, 18 Jul 2017 15:55:29 +0000 (17:55 +0200)]
Missing parenthesis fixed

(cherry picked from commit aa18ab71f3030f746de14168b9dae21c255e9b81)

5 years agoFailing case found
Claudio Sacerdoti Coen [Tue, 18 Jul 2017 13:38:27 +0000 (15:38 +0200)]
Failing case found

(cherry picked from commit 42eb14bc4443ce5a9bb893654db97a9c41486f06)

5 years agoHack to reserve var 0 to purify it to BOM removed
Claudio Sacerdoti Coen [Tue, 18 Jul 2017 13:36:56 +0000 (15:36 +0200)]
Hack to reserve var 0 to purify it to BOM removed

(cherry picked from commit 1fdb461d0bc4056ade8a05c482142984dbda735c)

5 years agosubst does not replace anymore in branches of maches
acondolu [Sun, 16 Jul 2017 14:01:21 +0000 (16:01 +0200)]
subst does not replace anymore in branches of maches

It was unnecessary: a match cannot expand to a previous branch

(cherry picked from commit 8a90160900bb95133b8e204a4fcadaa2db2f11dd)

5 years agoPrinting now preserves the names of the original free variables
acondolu [Sun, 16 Jul 2017 13:41:16 +0000 (15:41 +0200)]
Printing now preserves the names of the original free variables

(cherry picked from commit 7051416c234181eaf79dedfd18005cdf0a3e0863)

5 years agoImproved parsing
acondolu [Sat, 15 Jul 2017 18:23:20 +0000 (20:23 +0200)]
Improved parsing

- removed unused parse'
- fixed bug which was ignoring the first problems in some files

(cherry picked from commit 2d56686ea25883e77d0a69f1245e6e840fc8be5f)

5 years agoImproved pretty-printing
acondolu [Sat, 15 Jul 2017 18:21:39 +0000 (20:21 +0200)]
Improved pretty-printing

- Num does not use print_name anymore
- Original names of free variables are preserved
- bound variables' names start with x

(cherry picked from commit 137e2373f8875992898f8be0e07c4299ffbf3516)

5 years agoAdded problem wrongly backtracking
acondolu [Sat, 15 Jul 2017 15:16:51 +0000 (17:16 +0200)]
Added problem wrongly backtracking

(cherry picked from commit a34071ed728b8de44b198de4e73a52207557ed81)

5 years agoForgot one "Z"
acondolu [Sat, 15 Jul 2017 15:00:04 +0000 (17:00 +0200)]
Forgot one "Z"

(cherry picked from commit 572c25c8db51bd571c7f4810500074bac8c37c31)

5 years agoCode clean-up
acondolu [Sat, 15 Jul 2017 14:47:50 +0000 (16:47 +0200)]
Code clean-up

(cherry picked from commit 8fcb433208ce608350ea554dd1d92fa5a45fd463)

5 years agoCode clean-up
acondolu [Sat, 15 Jul 2017 14:41:53 +0000 (16:41 +0200)]
Code clean-up

(cherry picked from commit 5d8249a042beefbe21bfeed48619ed1917ebbcb7)

5 years agoImportant: added special variable "Z" for zero.
acondolu [Sat, 15 Jul 2017 14:41:39 +0000 (16:41 +0200)]
Important: added special variable "Z" for zero.

- Removed append_zero in Lambda4
- Now tests append "Z" at the end of ps'
- Manually appended "Z" at the end of all problems
- Removed tmp function in Lambda4, renamed to problem_of

(cherry picked from commit 82dd1911598932af386c4de46398624453e1fc31)

5 years agoMoved all problems in problems folder. Last ones in "w"
acondolu [Sat, 15 Jul 2017 14:01:36 +0000 (16:01 +0200)]
Moved all problems in problems folder. Last ones in "w"

(cherry picked from commit f7a60345135a4032bf63a7dc650bcc9fe30aa30a)

5 years agoFixes to parser
acondolu [Sat, 15 Jul 2017 13:31:04 +0000 (15:31 +0200)]
Fixes to parser

(cherry picked from commit 666a228779e465d08a0deea2e35c0cccf5722b40)

5 years agoFixed "$" in parser
acondolu [Sat, 15 Jul 2017 13:05:34 +0000 (15:05 +0200)]
Fixed "$" in parser

(cherry picked from commit db562ac015ffc6c1a08c226b4eef7790b21661cd)

5 years agoCommand line arguments to ./a.out
acondolu [Fri, 14 Jul 2017 18:34:02 +0000 (20:34 +0200)]
Command line arguments to ./a.out

For example:
 ./a.out problems/*
 ./a.out problems/p

Moved "o"-problems to problems/o

(cherry picked from commit dfad242808c3525a0d9e3420565551964fcf0832)

5 years agoFixed problems separator in parser: now it is $
acondolu [Fri, 14 Jul 2017 18:32:20 +0000 (20:32 +0200)]
Fixed problems separator in parser: now it is $

A separable problem's label may start with '!', a not separable's with '?'

(cherry picked from commit 71f8eb7befd85ff4911658136597b41ed177ff8c)

5 years agoAdded label to problem
acondolu [Fri, 14 Jul 2017 18:30:55 +0000 (20:30 +0200)]
Added label to problem

(cherry picked from commit c7e39970b94c93db45f2629af3fdb1e08371eca1)

5 years agoFailure in case of empty problem, to be fixed
acondolu [Fri, 14 Jul 2017 17:39:21 +0000 (19:39 +0200)]
Failure in case of empty problem, to be fixed

(cherry picked from commit 605ae9159149e42a17f044bbfad94f7dc2de79c2)

5 years agoParser.from_file, and p* problems moved to problems/p
acondolu [Fri, 14 Jul 2017 17:28:29 +0000 (19:28 +0200)]
Parser.from_file, and p* problems moved to problems/p

(cherry picked from commit 032edbca0cd6654adae5b5f06620723e74847435)

5 years agoproblems now contain a label and the names of the original free variables
acondolu [Fri, 14 Jul 2017 17:25:23 +0000 (19:25 +0200)]
problems now contain a label and the names of the original free variables

(cherry picked from commit 15c305b0d106b39616bdeea9aec9febc7539c2c1)