]> matita.cs.unibo.it Git - fireball-separation.git/log
fireball-separation.git
6 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

6 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'

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

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

6 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)

6 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)

6 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

6 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

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

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

6 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

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

6 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.

6 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

6 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

6 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

6 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)

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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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)

6 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)

6 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)

6 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)

6 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)

6 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

6 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)

6 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)

6 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)

6 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)

6 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)

6 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)

6 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)

6 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)

6 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)

6 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)

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

(cherry picked from commit 572c25c8db51bd571c7f4810500074bac8c37c31)

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

(cherry picked from commit 8fcb433208ce608350ea554dd1d92fa5a45fd463)

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

(cherry picked from commit 5d8249a042beefbe21bfeed48619ed1917ebbcb7)

6 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)

6 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)

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

(cherry picked from commit 666a228779e465d08a0deea2e35c0cccf5722b40)

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

(cherry picked from commit db562ac015ffc6c1a08c226b4eef7790b21661cd)

6 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)

6 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)

6 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)

6 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)

6 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)

6 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)

6 years agoFirst draft of Parser.problem_of_string
acondolu [Fri, 14 Jul 2017 16:02:19 +0000 (18:02 +0200)]
First draft of Parser.problem_of_string

- problem_of_string should unify old Lambda4.problem_of and Parser.parse'
- Lambda4.problem_of was temporarily factored in problem_of_2
  and problem_of_String_tmp

(cherry picked from commit 8b69a4c59242b64294c7065a4e85437ce3cbc32d)

6 years agoChanged logic of entrypoint in Lambda4
acondolu [Fri, 14 Jul 2017 15:20:42 +0000 (17:20 +0200)]
Changed logic of entrypoint in Lambda4

- removed exception Fail
- added "check",which checks if we are in a subproblem
  of separation on which we know to be complete
- "solve" does not raise particular exceptions anymore,
  and the program raise failure only if there is some bug

(cherry picked from commit 608c40045f651c6402b17c437f997de4d63f6afd)

6 years agoMoved parse' from Num to Parser
acondolu [Fri, 14 Jul 2017 14:44:15 +0000 (16:44 +0200)]
Moved parse' from Num to Parser

(cherry picked from commit 123d64bb5ae7127f6a51cbf44b63341de001a187)

6 years agoFixed: was using compare in place of eta_eq
acondolu [Fri, 14 Jul 2017 12:39:10 +0000 (14:39 +0200)]
Fixed: was using compare in place of eta_eq

in particular, eta_eq ignores arities of variables

there used to be cases of duplicate entries in PS (up to arities of variables)

(cherry picked from commit 79e9bd64d15490dd5abc353cc5b09378d3c640d1)

6 years agoRe-use Util.index_of
acondolu [Fri, 14 Jul 2017 12:38:08 +0000 (14:38 +0200)]
Re-use Util.index_of

(cherry picked from commit 52947a60467ebb10cec57ffc1725644ad605c671)

6 years agoCode clean-up
acondolu [Fri, 14 Jul 2017 12:31:30 +0000 (14:31 +0200)]
Code clean-up

Less casts and casts in the right place

(cherry picked from commit 6bf723ba426a04a3ae5d36baf8a9fe4bffebc635)

6 years agoTidying up problems.ml
acondolu [Fri, 14 Jul 2017 08:57:22 +0000 (10:57 +0200)]
Tidying up problems.ml

(cherry picked from commit c8d9c2fda6b135b29e81e3bea95520ba449b86e3)

6 years agoTentative commit: tactics dropped and clean-up
acondolu [Thu, 13 Jul 2017 15:38:23 +0000 (17:38 +0200)]
Tentative commit: tactics dropped and clean-up

(cherry picked from commit 0991fc5486c3158fc361e84cbba5aefa67893ba4)

Include codice di pure.ml che implementa Pure.B da commit
 "Removed bomb variable"

6 years agoAdded assert false
acondolu [Thu, 13 Jul 2017 18:35:37 +0000 (20:35 +0200)]
Added assert false

(cherry picked from commit ba6f0ecd9531b266361674d76423c24381dc72ee)

6 years agoFixed bug in eta_subterm
acondolu [Thu, 13 Jul 2017 18:35:10 +0000 (20:35 +0200)]
Fixed bug in eta_subterm

(cherry picked from commit 09ecd6ebdb7d96386bd79a7117930aba4635f778)

6 years agoRemove FORCE option in Makefile
acondolu [Thu, 13 Jul 2017 18:34:50 +0000 (20:34 +0200)]
Remove FORCE option in Makefile

(cherry picked from commit 6ba14f58fa4c8f93fc2a398bdee030cd2217adea)

6 years agoFix: missing check to avoid stepping on vars of non positive arity
acondolu [Thu, 13 Jul 2017 17:05:39 +0000 (19:05 +0200)]
Fix: missing check to avoid stepping on vars of non positive arity

(cherry picked from commit 58f1518398346a81ccd8d0b14a14565b8bff5276)

6 years agoFix: max_arity_tms was using wrong comparison
acondolu [Thu, 13 Jul 2017 15:34:12 +0000 (17:34 +0200)]
Fix: max_arity_tms was using wrong comparison

(cherry picked from commit a104858f2dd754e5d086c3884823f3f39d716691)

6 years agoAdded variable convergent_dummy
acondolu [Mon, 28 May 2018 08:56:07 +0000 (10:56 +0200)]
Added variable convergent_dummy

6 years agoFixes to printing
acondolu [Wed, 12 Jul 2017 21:28:46 +0000 (23:28 +0200)]
Fixes to printing

(cherry picked from commit 4627d2b89b5a96e09b1921e033a5c1d7dd50dbc6)

6 years agoDisabled some chars as variable names in the parser
acondolu [Wed, 12 Jul 2017 21:12:44 +0000 (23:12 +0200)]
Disabled some chars as variable names in the parser

(cherry picked from commit bfd8f8a98a7392ac8cbd9070a8e4ff4d06e09510)

6 years agoPrettier-printing: string_of_problem outputs OCaml code
acondolu [Wed, 12 Jul 2017 19:48:01 +0000 (21:48 +0200)]
Prettier-printing: string_of_problem outputs OCaml code

(cherry picked from commit d97b1a852472085bf3449e34f3b25aee349686fd)

6 years agoFixed if-then-else
acondolu [Tue, 11 Jul 2017 15:40:00 +0000 (17:40 +0200)]
Fixed if-then-else

(cherry picked from commit 588a00cd5ae861a2f366df992f758f285265a34a)

6 years agoFix: nested `Lambda(false,_) were not handled correctly
acondolu [Tue, 11 Jul 2017 15:39:37 +0000 (17:39 +0200)]
Fix: nested `Lambda(false,_) were not handled correctly

(cherry picked from commit 0147bacbe2db4055ae6f991aaa64a9fb1047edc6)

6 years ago-666 -> min_int
acondolu [Tue, 11 Jul 2017 15:38:14 +0000 (17:38 +0200)]
-666 -> min_int

(cherry picked from commit 5da7cf1322998c8965455264249f12ac4400f49d)

6 years agoFixed indentation and logging
acondolu [Tue, 11 Jul 2017 14:38:26 +0000 (16:38 +0200)]
Fixed indentation and logging

(cherry picked from commit 4985769db038aa060b47ab40f673aaaacea54742)

7 years agoclean removes *.o files
acondolu [Tue, 11 Jul 2017 13:44:40 +0000 (15:44 +0200)]
clean removes *.o files

7 years agoRemoved old .ar files
acondolu [Tue, 11 Jul 2017 13:44:16 +0000 (15:44 +0200)]
Removed old .ar files

7 years agoRun tests with: make run
acondolu [Tue, 11 Jul 2017 13:42:09 +0000 (15:42 +0200)]
Run tests with: make run

7 years agoFix: conv : x:min_int (.... y:1 ...) y was not considered for stepping
acondolu [Tue, 11 Jul 2017 12:00:34 +0000 (14:00 +0200)]
Fix: conv : x:min_int (.... y:1 ...)  y was not considered for stepping

When no other choice is available, step on any >0 variable that occurs in
a conv.

7 years agoNew problems n1, n2 used to debug the problem with dangerous variables fixed in the...
acondolu [Tue, 11 Jul 2017 11:24:09 +0000 (13:24 +0200)]
New problems n1, n2 used to debug the problem with dangerous variables fixed in the last commits

7 years agoBug fix: x (y z) where y was conv_dangerous did not make x so
acondolu [Tue, 11 Jul 2017 11:22:41 +0000 (13:22 +0200)]
Bug fix: x (y z) where y was conv_dangerous did not make x so

Additional fix to last commit: args' where no longer checked for dangerous
variables. Fixed by passing three arguments to dangerous_invert_conv in
place of two.

7 years agoFix bug in dangerous_conv with arity of arguments of matches.
acondolu [Tue, 11 Jul 2017 09:37:18 +0000 (11:37 +0200)]
Fix bug in dangerous_conv with arity of arguments of matches.
Next bug: variable replaced twice

7 years agoThe measure finally works on all problems in problems.ml!
acondolu [Mon, 10 Jul 2017 16:44:31 +0000 (18:44 +0200)]
The measure finally works on all problems in problems.ml!
Added in logs/fail.txt a fragment of a failing problem

7 years agoExperimenting with a combined measure
acondolu [Mon, 10 Jul 2017 13:48:25 +0000 (15:48 +0200)]
Experimenting with a combined measure

7 years agoInstantiate now uses a global initialSpecialK (ignoring the local one)
acondolu [Mon, 10 Jul 2017 12:43:43 +0000 (14:43 +0200)]
Instantiate now uses a global initialSpecialK (ignoring the local one)
This fixes the bug in the previous commit, and makes the problem pass

7 years agoArity inherited only in the case (true, min_int)
acondolu [Mon, 10 Jul 2017 12:13:36 +0000 (14:13 +0200)]
Arity inherited only in the case (true, min_int)
Problem 25 fails because a fake variable becomes
critical step.

7 years agonew_arity = old_arity + 1
acondolu [Mon, 10 Jul 2017 12:06:55 +0000 (14:06 +0200)]
new_arity = old_arity + 1

7 years agoFixes to how arities are assigned and propagated
acondolu [Fri, 7 Jul 2017 17:16:29 +0000 (19:16 +0200)]
Fixes to how arities are assigned and propagated
- added truelam to subst (useless, can be removed)
- TODO: to measure the problem, count the `fake` variables
        which are the ones with arity = min_int

7 years agoMinor fixes
acondolu [Wed, 28 Jun 2017 14:29:21 +0000 (16:29 +0200)]
Minor fixes

7 years agostill stepping on negative variables
<andrea.condoluci@unibo.it> [Tue, 27 Jun 2017 13:16:43 +0000 (15:16 +0200)]
still stepping on negative variables

7 years agoProblems pass, but still missing computation of arities of fresh applicative vars
<andrea.condoluci@unibo.it> [Mon, 26 Jun 2017 11:47:30 +0000 (13:47 +0200)]
Problems pass, but still missing computation of arities of fresh applicative vars

7 years agoNew representation of arities in variables
<andrea.condoluci@unibo.it> [Mon, 26 Jun 2017 10:26:43 +0000 (12:26 +0200)]
New representation of arities in variables

7 years agoRemoved traces of lambda3
<andrea.condoluci@unibo.it> [Mon, 26 Jun 2017 09:37:07 +0000 (11:37 +0200)]
Removed traces of lambda3

7 years agoRemoved lambda3 + Fixed lambda4
<andrea.condoluci@unibo.it> [Thu, 22 Jun 2017 15:20:55 +0000 (17:20 +0200)]
Removed lambda3 + Fixed lambda4

7 years agoUpdated type of terms with arities in lambda and matche
<andrea.condoluci@unibo.it> [Thu, 22 Jun 2017 14:23:21 +0000 (16:23 +0200)]
Updated type of terms with arities in lambda and matche

7 years agoMoved andrea's stuff to its branch
<andrea.condoluci@unibo.it> [Mon, 12 Jun 2017 20:44:12 +0000 (22:44 +0200)]
Moved andrea's stuff to its branch

7 years agoCopy ocaml folder from sacerdot's svn repository, rev 4907
<andrea.condoluci@unibo.it> [Mon, 12 Jun 2017 20:28:38 +0000 (22:28 +0200)]
Copy ocaml folder from sacerdot's svn repository, rev 4907

7 years agoInitial commit
Andrea Condoluci [Mon, 12 Jun 2017 20:17:57 +0000 (22:17 +0200)]
Initial commit