Emacs Artificial General Intelligence Algorithmic Game Theory: Prediction Markets (po polsku) Systemy Inteligentnych Agentów
|
Infer.Infer HistoryHide minor edits - Show changes to output November 04, 2015, at 09:09 PM
by - thesis - not draft
Changed line 3 from:
* to:
* Thesis on InvarGenT: [[Attach:lukstafi-phd-thesis.pdf]]. Changed lines 3-5 from:
Draft of my thesis on InvarGenT: [[Attach:lukstafi-phd-thesis.pdf]]. Technical slides on InvarGenT: [[Attach:invargent-slides.pdf]]. Layman slides on InvarGenT: [[Attach:invargent-simple-slides.pdf]]. to:
* Draft of my thesis on InvarGenT: [[Attach:lukstafi-phd-thesis.pdf]]. * Technical slides on InvarGenT: [[Attach:invargent-slides.pdf]]. * Layman slides on InvarGenT: [[Attach:invargent-simple-slides.pdf]]. September 20, 2015, at 03:05 AM
by - Two sets of slides
Added lines 4-5:
Technical slides on InvarGenT: [[Attach:invargent-slides.pdf]]. Layman slides on InvarGenT: [[Attach:invargent-simple-slides.pdf]]. Changed lines 3-4 from:
Draft of my thesis on InvarGenT: [[Attach:lukstafi-phd-thesis.pdf]] to:
Draft of my thesis on InvarGenT: [[Attach:lukstafi-phd-thesis.pdf]]. April 04, 2015, at 05:48 PM
by - thesis draft
Changed lines 3-5 from:
** [[Attach:invargent2012 ** to:
Draft of my thesis on InvarGenT: [[Attach:lukstafi-phd-thesis.pdf]] The thesis is not yet submitted. Implementation of versions 2.0.X completed. These unpublished articles can serve as historical snapshots of formal presentation of the project. * [[Attach:invargent2012.pdf]] formalizes both the type system and constraint solving by abduction, but does not cover existential types. * [[Attach:invargent2013.pdf]] focuses on the type system. Deleted lines 12-13:
Changed line 14 from:
* [[http://pauillac.inria.fr/~fpottier/biblio/pottier.html | Vincent Simonet and Francois Pottier, '''A constraint-based approach to guarded algebraic data types.'''] to:
* [[http://pauillac.inria.fr/~fpottier/biblio/pottier.html | Vincent Simonet and Francois Pottier, '''A constraint-based approach to guarded algebraic data types.''']] (initial constraint generation) Changed line 17 from:
* [[http://www.kennknowles.com/research/knowles-flanagan.esop.07.type.pdf | Kenneth Knowles, Cormac Flanagan, '''Type reconstruction for general refinement types''']] to:
* [[http://www.kennknowles.com/research/knowles-flanagan.esop.07.type.pdf | Kenneth Knowles, Cormac Flanagan, '''Type reconstruction for general refinement types''']] February 18, 2014, at 07:28 PM
by - v1.2
Changed lines 8-11 from:
Implementation of version 1. Implementation of v1.2 with @@min@@ and @@max@@ relations in @@num@@: (:progress 45:) to:
Implementation of version 1.2 completed. Changed lines 6-7 from:
* Project at: [[https://github.com/lukstafi/invargent]]. to:
* Project at: [[https://github.com/lukstafi/invargent]], in particular [[https://github.com/lukstafi/invargent/blob/master/doc/invargent-manual.pdf | InvarGenT manual]]. Changed line 11 from:
(:progress to:
(:progress 45:) December 22, 2013, at 12:05 PM
by - v1.2
Added lines 9-11:
Implementation of v1.2 with @@min@@ and @@max@@ relations in @@num@@: (:progressbar 2:) Changed lines 3-5 from:
* These unpublished articles can serve as historical snapshots of formal presentation of the project. [[Attach:invargent2012.pdf]] formalizes both the type system and constraint solving by abduction, but does not cover existential types. [[Attach:invargent2013.pdf]] focuses on the type system. to:
* These unpublished articles can serve as historical snapshots of formal presentation of the project. ** [[Attach:invargent2012.pdf]] formalizes both the type system and constraint solving by abduction, but does not cover existential types. ** [[Attach:invargent2013.pdf]] focuses on the type system. December 22, 2013, at 12:02 PM
by - historical perspective
Changed line 3 from:
* These unpublished articles can serve as historical snapshots of formal presentation of the project to:
* These unpublished articles can serve as historical snapshots of formal presentation of the project. [[Attach:invargent2012.pdf]] formalizes both the type system and constraint solving by abduction, but does not cover existential types. [[Attach:invargent2013.pdf]] focuses on the type system. December 22, 2013, at 11:53 AM
by - update
Changed lines 3-4 from:
* * to:
* These unpublished articles can serve as historical snapshots of formal presentation of the project: [[Attach:invargent2012.pdf]], [[Attach:invargent2013.pdf]]. Changed line 6 from:
Implementation to:
Implementation of version 1.1 completed. December 07, 2013, at 06:18 PM
by - update
Changed lines 15-18 from:
Other * [[http * [[http://www.cse.unsw.edu.au/~mmaher/pubs/cp/linear_abdn_revised.pdf | M. Maher * [[http://www to:
Other literature that seemed relevant at an early stage: * [[http://www.lsi.upc.edu/~erodri/ | Enric Rodriguez-Carbonell, Deepak Kapur, '''Automatic Generation of Polynomial Loop Invariants''']] * [[http://www.cse.unsw.edu.au/~mmaher/pubs/cp/linear_abdn_revised.pdf | M. Maher, '''Abduction of Linear Arithmetic Constraints''']] * [[http://www.cs.unm.edu/~kapur/mypapers/aca2004.pdf | Deepak Kapur, '''Automatically Generating Loop Invariants Using Quantifier Elimination''']] There is much more of related literature, mostly more recent, but it has not influenced InvarGenT directly. Changed line 7 from:
Implementation progress: (:progress to:
Implementation progress: (:progress 93:) November 27, 2013, at 08:42 PM
by - progress
Changed line 7 from:
Implementation progress: (:progress to:
Implementation progress: (:progress 88:) Changed line 7 from:
Implementation progress: (:progress to:
Implementation progress: (:progress 82:) July 16, 2013, at 04:51 PM
by - quote
Added lines 1-2:
''Every problem that is interesting is also soluble.'' David Deutsch Changed line 5 from:
Implementation progress: (:progress to:
Implementation progress: (:progress 77:) Changed line 5 from:
Implementation progress: (:progress to:
Implementation progress: (:progress 73:) Changed line 5 from:
Implementation progress: (:progress to:
Implementation progress: (:progress 65:) Changed line 5 from:
Implementation progress: (:progress to:
Implementation progress: (:progress 55:) Changed line 5 from:
Implementation progress: (:progress to:
Implementation progress: (:progress 40:) Deleted line 8:
Changed line 5 from:
Implementation progress: (:progress to:
Implementation progress: (:progress 38:) Changed line 5 from:
Implementation progress: (:progress to:
Implementation progress: (:progress 30:) Changed line 5 from:
Implementation progress: (:progress to:
Implementation progress: (:progress 27:) Changed line 5 from:
Implementation progress: (:progress to:
Implementation progress: (:progress 20:) Changed line 5 from:
Implementation progress: (:progress to:
Implementation progress: (:progress 17:) March 25, 2013, at 03:39 PM
by - progress bar
Changed line 5 from:
to:
Implementation progress: (:progress 10:) March 16, 2013, at 06:18 PM
by - project github site
Changed lines 1-2 from:
[[ to:
* Article introducing the theoretical underpinnings of the project: [[Attach:invargent2012.pdf]]. * [[http://ii.uni.wroc.pl/~lukstafi/pubs/ | Technical reports / manuscripts]]. * Project at: [[https://github.com/lukstafi/invargent]]. November 16, 2012, at 12:14 AM
by - type inference status
Deleted lines 0-1:
Added lines 3-4:
The work needs better presentation, but most of all, the system needs to be implemented. Lack of time is the primary reason for these shortcomings. November 16, 2012, at 12:11 AM
by - manuscripts
Changed lines 1-2 from:
OUTDATED. The project will have a dedicated site soon. to:
OUTDATED. The project will have a dedicated site soon. ETA: not soon. [[http://ii.uni.wroc.pl/~lukstafi/pubs/ | Manuscripts with my results.]] October 08, 2012, at 02:03 AM
by - OUTDATED notice
Changed lines 1-4 from:
The [[Attach:hmg_arith.tar.gz]] to:
OUTDATED. The project will have a dedicated site soon. Changed line 10 from:
to:
Other relevant literature: Deleted lines 13-59:
!! Timetable: ||%border=2 ||!id||!for version||!feature||!difficulty||!state|| || 1|| v0.1.1|| multiple definitions|| simple|| done July 20, 2008, at 01:15 PM || 2|| v0.1.1|| nested "non-crossing" definitions|| simple|| dropped (see id 32) || 13|| v0.1.1|| mutual recursion|| difficult|| done August 15, 2008, at 10:26 PM || 5|| v0.1.1|| cleaned-up output|| simple|| in progress || 6|| v0.1.1|| automatic test suite|| simple|| waiting || 41|| v0.1.2|| simplify accounting of local variables|| simple|| half done || 39|| v0.1.2|| rewrite invariant generation code|| medium|| half done || 9|| v0.1.2|| existential quantification detection bugs|| medium|| waiting || 15|| v0.1.2|| return-type-nested existential quantification|| difficult|| waiting || 3|| v0.2.0|| pattern implication|| medium|| waiting || 38|| v0.2.0|| dead code management (negation constraints)|| medium|| waiting || 27|| v0.2.0|| check for exhaustiveness of patterns (together with id 38)|| medium|| waiting || 35|| v0.2.0|| add multiplication back to the arithmetic domain (preparing for polynomial constraints)|| simple|| waiting || 10|| v0.2.0|| exact generation of inequalities by "quantifier elimination"|| difficult|| waiting || 11|| v0.2.0|| analyse the "odd.gadt" example|| simple|| waiting || 40|| v0.2.0|| add chained occurs check for semi-unification|| simple|| waiting || 12|| v0.2.1|| enumeration of dark shadow in Fourier-Motzkin|| medium|| waiting || 31|| v0.2.2|| better error locations|| medium|| waiting || 14|| v0.3.0|| polynomial constraints|| difficult|| waiting || 16|| v0.3.1|| Haskell-like syntax input (and more complete OCaml syntax)|| medium|| waiting || 17|| v0.3.1|| Haskell source code generation|| medium|| waiting || 18|| v0.3.1|| OCaml source code generation|| medium|| waiting || 29|| v0.3.1|| handle and transfer comments (also: full types as comments)|| simple|| waiting || 30|| v0.3.1|| extend testsuite to run the examples|| simple|| waiting || 32|| v0.3.2|| source-level transformation to flatten (move out) non-mutual-recursive local definitions|| simple|| waiting || 33|| v0.3.2|| user type annotations in expressions|| simple|| waiting || 34|| v0.3.3|| user constraint annotations on defined functions|| medium|| waiting || 19|| v0.4.0|| factor-out domain code: plug-in architecture for domains|| difficult|| waiting || 20|| v0.4.0|| domain for reals|| simple|| waiting || 21|| v0.4.0|| domain for integers|| simple|| waiting || 22|| v0.4.1|| domain for lattices|| difficult|| waiting || 7|| v0.4.1|| [[#choice | choice]] operator for user constraints|| medium|| waiting || 8|| v0.4.1|| mergesort with order detection|| simple|| waiting || 28|| v0.4.2|| check for exhaustiveness of the "choice" conditions|| difficult|| waiting || 23|| v0.4.3|| Datalog domain (with saturation)|| medium|| waiting || 24|| v0.4.4|| equational theories domain (with completion)|| difficult|| waiting || 36|| v0.5.0|| corrective program transformation heuristics|| difficult|| waiting || 37|| v0.5.0|| corrective (local) program generation|| difficult|| waiting || 25|| v0.6.0|| first class polymorphism (annotation-free)|| perhaps possible|| waiting || 26|| v0.7.0|| type definition reconstruction and refinement|| perhaps possible|| waiting !!! [[#choice]] The ''choice'' operator The "choice" logical connective "lifts the pattern-matching semantics to the logic of annotations", allows for overloading of logical senses of values. [@choice(a1==>b1, ..., an==>bn)@] means [@a1==>b1 /\ ... /\ an==>bn@] but is only admissible when [@a1 \/ ... \/ an@]. Changed line 20 from:
|| 1|| v0.1.1|| multiple definitions|| simple|| done to:
|| 1|| v0.1.1|| multiple definitions|| simple|| done July 20, 2008, at 01:15 PM Changed line 22 from:
|| 13|| v0.1.1|| mutual recursion|| difficult|| done to:
|| 13|| v0.1.1|| mutual recursion|| difficult|| done August 15, 2008, at 10:26 PM August 15, 2008, at 10:26 PM
by - closer to v0.1.1
Changed line 22 from:
|| 13|| v0.1.1|| mutual recursion|| difficult|| to:
|| 13|| v0.1.1|| mutual recursion|| difficult|| done [[~lukstafi]] August 15, 2008, at 10:26 PMlukstafi Changed lines 25-26 from:
|| 41|| v0.1.2|| simplify accounting of local variables|| simple|| to:
|| 41|| v0.1.2|| simplify accounting of local variables|| simple|| half done || 39|| v0.1.2|| rewrite invariant generation code|| medium|| half done July 29, 2008, at 03:49 PM
by - local vars need cleanup
Changed line 25 from:
|| 41|| v0.1.2|| simplify accounting of local variables|| simple|| to:
|| 41|| v0.1.2|| simplify accounting of local variables|| simple|| in progress Changed line 20 from:
|| 1|| v0.1.1|| multiple definitions|| simple|| done [[~lukstafi]] to:
|| 1|| v0.1.1|| multiple definitions|| simple|| done [[~lukstafi]] July 20, 2008, at 01:15 PM July 20, 2008, at 01:14 PM
by - a small progress update
Changed lines 20-21 from:
|| 1|| v0.1.1|| multiple definitions|| simple|| to:
|| 1|| v0.1.1|| multiple definitions|| simple|| done [[~lukstafi]] || 2|| v0.1.1|| nested "non-crossing" definitions|| simple|| dropped (see id 32) Changed line 23 from:
|| 5|| v0.1.1|| cleaned-up output|| simple|| to:
|| 5|| v0.1.1|| cleaned-up output|| simple|| in progress Changed line 26 from:
|| 39|| v0.1.2|| rewrite invariant generation code (simplify representations)|| medium|| to:
|| 39|| v0.1.2|| rewrite invariant generation code (simplify representations)|| medium|| in progress July 13, 2008, at 09:44 PM
by - a version for existentials
Changed lines 25-28 from:
|| to:
|| 41|| v0.1.2|| simplify accounting of local variables|| simple|| waiting || 39|| v0.1.2|| rewrite invariant generation code (simplify representations)|| medium|| waiting || 9|| v0.1.2|| existential quantification detection bugs|| medium|| waiting || 15|| v0.1.2|| return-type-nested existential quantification|| difficult|| waiting Deleted line 31:
Changed lines 39-47 from:
|| || 16|| v0.3.2|| Haskell-like || || 29|| v0.3.2|| handle and transfer || 30|| v0.3.2 || 32|| v0.3.3|| source || 33|| v0.3.3 || 34|| v0.3.4 to:
|| 16|| v0.3.1|| Haskell-like syntax input (and more complete OCaml syntax)|| medium|| waiting || 17|| v0.3.1|| Haskell source code generation|| medium|| waiting || 18|| v0.3.1|| OCaml source code generation|| medium|| waiting || 29|| v0.3.1|| handle and transfer comments (also: full types as comments)|| simple|| waiting || 30|| v0.3.1|| extend testsuite to run the examples|| simple|| waiting || 32|| v0.3.2|| source-level transformation to flatten (move out) non-mutual-recursive local definitions|| simple|| waiting || 33|| v0.3.2|| user type annotations in expressions|| simple|| waiting || 34|| v0.3.3|| user constraint annotations on defined functions|| medium|| waiting July 12, 2008, at 01:38 PM
by - rewrite invariants, occurs check semiunification
Added line 25:
|| 39|| v0.2.0|| rewrite invariant generation code (simplify representations)|| medium|| waiting Added line 33:
|| 40|| v0.2.0|| add chained occurs check for semi-unification|| simple|| waiting July 08, 2008, at 10:54 AM
by - rethink dead code and exhaustiveness
Changed lines 26-27 from:
|| to:
|| 38|| v0.2.0|| dead code management (negation constraints)|| medium|| waiting || 27|| v0.2.0|| check for exhaustiveness of patterns (together with id 38)|| medium|| waiting Changed line 29 from:
|| 35|| v0.2.0|| add multiplication back to the arithmetic domain|| simple|| waiting to:
|| 35|| v0.2.0|| add multiplication back to the arithmetic domain (preparing for polynomial constraints)|| simple|| waiting July 05, 2008, at 07:05 PM
by - transformation vs generation
Added line 53:
|| 37|| v0.5.0|| corrective (local) program generation|| difficult|| waiting July 05, 2008, at 06:45 PM
by - user annotations, correction heuristics
Added line 28:
|| 35|| v0.2.0|| add multiplication back to the arithmetic domain|| simple|| waiting Added lines 40-42:
|| 32|| v0.3.3|| source-level transformation to flatten (move out) non-mutual-recursive local definitions|| simple|| waiting || 33|| v0.3.3|| user type annotations in expressions|| simple|| waiting || 34|| v0.3.4|| user constraint annotations on defined functions|| medium|| waiting Changed lines 52-54 from:
|| || to:
|| 36|| v0.5.0|| corrective program transformation heuristics|| difficult|| waiting || 25|| v0.6.0|| first class polymorphism (annotation-free)|| perhaps possible|| waiting || 26|| v0.7.0|| type definition reconstruction and refinement|| perhaps possible|| waiting June 27, 2008, at 01:12 PM
by - mutual recursion
Changed lines 20-22 from:
|| 1|| v0.1.1|| multiple definitions|| simple|| to:
|| 1|| v0.1.1|| multiple definitions|| simple|| in progress || 2|| v0.1.1|| nested "non-crossing" definitions|| simple|| in progress || 13|| v0.1.1|| mutual recursion|| difficult|| in progress Added line 25:
|| 3|| v0.2.0|| pattern implication|| medium|| waiting Changed lines 32-39 from:
|| || || || 16|| v0.3.3|| Haskell-like || || 29|| v0.3.3|| handle and transfer || 30|| v0.3.3 to:
|| 14|| v0.3.0|| polynomial constraints|| difficult|| waiting || 15|| v0.3.1|| return-type-nested existential quantification|| difficult|| waiting || 16|| v0.3.2|| Haskell-like syntax input (and more complete OCaml syntax)|| medium|| waiting || 17|| v0.3.2|| Haskell source code generation|| medium|| waiting || 18|| v0.3.2|| OCaml source code generation|| medium|| waiting || 29|| v0.3.2|| handle and transfer comments (also: full types as comments)|| simple|| waiting || 30|| v0.3.2|| extend testsuite to run the examples|| simple|| waiting Changed line 44 from:
|| 8|| v0.4.1|| to:
|| 8|| v0.4.1|| mergesort with order detection|| simple|| waiting May 30, 2008, at 11:20 PM
by - no explicit dead code
Deleted line 22:
Changed line 44 from:
|| 7|| v0.4.1|| [[#choice]] operator for user constraints|| medium|| waiting to:
|| 7|| v0.4.1|| [[#choice | choice]] operator for user constraints|| medium|| waiting Changed line 52 from:
!!! to:
!!! [[#choice]] The ''choice'' operator May 30, 2008, at 10:48 PM
by - error locations
Added line 31:
|| 31|| v0.2.2|| better error locations|| medium|| waiting Changed line 35 from:
|| 16|| v0.3.3|| Haskell-like syntax input|| medium|| waiting to:
|| 16|| v0.3.3|| Haskell-like syntax input (and more complete OCaml syntax)|| medium|| waiting Changed line 39 from:
|| 30|| v0.3.3|| extend testsuite to run the examples|| waiting to:
|| 30|| v0.3.3|| extend testsuite to run the examples|| simple|| waiting May 30, 2008, at 02:59 AM
by - comments & run examples
Added lines 37-38:
|| 29|| v0.3.3|| handle and transfer comments (also: full types as comments)|| simple|| waiting || 30|| v0.3.3|| extend testsuite to run the examples|| waiting May 28, 2008, at 07:24 PM
by - pattern&choice exhaustiveness
Changed line 26 from:
|| to:
|| 27|| v0.2.0|| check for exhaustiveness of patterns|| medium|| waiting Added line 41:
|| 7|| v0.4.1|| [[#choice]] operator for user constraints|| medium|| waiting Changed lines 43-44 from:
|| to:
|| 28|| v0.4.2|| check for exhaustiveness of the "choice" conditions|| difficult|| waiting || 23|| v0.4.3|| Datalog domain (with saturation)|| medium|| waiting || 24|| v0.4.4|| equational theories domain (with completion)|| difficult|| waiting Changed line 50 from:
The " to:
The "choice" logical connective "lifts the pattern-matching semantics to the logic of annotations", allows for overloading of logical senses of values. [@choice(a1==>b1, ..., an==>bn)@] means [@a1==>b1 /\ ... /\ an==>bn@] but is only admissible when [@a1 \/ ... \/ an@]. May 28, 2008, at 04:57 PM
by - choice not good enough for sorting
Deleted line 26:
Added line 41:
|| 8|| v0.4.1|| quicksort with order detection|| simple|| waiting May 28, 2008, at 04:18 PM
by - choice operator
Changed line 26 from:
|| 7|| v0.2.0|| to:
|| 7|| v0.2.0|| [[#choice]] operator|| medium|| waiting Added lines 47-48:
!!! The [[#choice]] operator The "Choice" logical connective "lifts the pattern-matching semantics to the logic of annotations", allows for overloading of logical senses of values. [@choice(a1==>b1, ..., an==>bn)@] means [@a1==>b1 /\ ... /\ an==>bn@] but is only admissible when [@a1 \/ ... \/ an@]. May 26, 2008, at 11:23 PM
by - refined
Changed lines 20-41 from:
|| 1|| v0. || 2|| v0. || 3|| v0. || 4|| v0. || 5|| v0. || 6|| v0. || 7|| v0.2|| || 8|| v0.2|| || 9|| v0.2|| || 11|| v0.3|| polynomial constraints || || || 14 || || || || || to:
|| 1|| v0.1.1|| multiple definitions|| simple|| waiting || 2|| v0.1.1|| nested "non-crossing" definitions|| simple|| waiting || 3|| v0.1.1|| pattern implication|| medium|| waiting || 4|| v0.1.1|| by-hand marked dead code|| medium|| waiting || 5|| v0.1.1|| cleaned-up output|| simple|| waiting || 6|| v0.1.1|| automatic test suite|| simple|| waiting || 7|| v0.2.0|| disjunctions in user constraints|| simple|| waiting || 8|| v0.2.0|| quicksort with order emulated on nats|| simple|| waiting || 9|| v0.2.0|| existential quantification detection bugs|| medium|| waiting || 10|| v0.2.0|| exact generation of inequalities by "quantifier elimination"|| difficult|| waiting || 11|| v0.2.0|| analyse the "odd.gadt" example|| simple|| waiting || 12|| v0.2.1|| enumeration of dark shadow in Fourier-Motzkin|| medium|| waiting || 13|| v0.3.0|| mutual recursion|| difficult|| waiting || 14|| v0.3.1|| polynomial constraints|| difficult|| waiting || 15|| v0.3.2|| return-type-nested existential quantification|| difficult|| waiting || 16|| v0.3.3|| Haskell-like syntax input|| medium|| waiting || 17|| v0.3.3|| Haskell source code generation|| medium|| waiting || 18|| v0.3.3|| OCaml source code generation|| medium|| waiting || 19|| v0.4.0|| factor-out domain code: plug-in architecture for domains|| difficult|| waiting || 20|| v0.4.0|| domain for reals|| simple|| waiting || 21|| v0.4.0|| domain for integers|| simple|| waiting || 22|| v0.4.1|| domain for lattices|| difficult|| waiting || 23|| v0.4.2|| Datalog domain (with saturation)|| medium|| waiting || 24|| v0.4.3|| equational theories domain (with completion)|| difficult|| waiting || 25|| v0.5.0|| first class polymorphism (annotation-free)|| perhaps possible|| waiting || 26|| v0.6.0|| type definition reconstruction and refinement|| perhaps possible|| waiting May 26, 2008, at 10:27 PM
by - eq thy domain
Changed lines 37-40 from:
|| 18|| v0.4|| Datalog domain || 20|| v0.6|| type definition reconstruction and refinement|| perhaps possible|| waiting to:
|| 18|| v0.4|| Datalog domain (with saturation)|| difficult|| waiting || 19|| v0.4|| equational theories domain (with completion)|| difficult|| waiting || 20|| v0.5|| first class polymorphism (annotation-free)|| perhaps possible|| waiting || 21|| v0.6|| type definition reconstruction and refinement|| perhaps possible|| waiting May 26, 2008, at 09:21 PM
by - timetable refinement
Changed line 18 from:
||%border= to:
||%border=2 Changed lines 20-55 from:
|| || || || || || || || || || # || # Plans for future versions: * more domains, the next one being lattices (partial orders with the minimum and maximum operators), later: reals, and user * existential quantification (if introduced before first class polymorphism, then still nested in any return part of a type (always-right on function arrows path into the type): this is needed for types that are already inferred) * first class polymorphism (universal and existential quantifiers nested in types) inspired by MLF Bugs: # binary_multiply.gadt: result should be existentially quantified Further plans: # domain of lattices (medium-to-difficult) # domain of real numbers (simple-to-medium) # enumeration of dark shadow on Fourier satisfiability (medium) # factoring-out the code for domains -- plug-in architecture (medium-to-difficult) (small priority) # rule-based saturation domain (medium-to-difficult) # first-class polymorphism (difficult) # export to compilable languages (medium) to:
|| 1|| v0.2|| multiple definitions|| simple|| waiting || 2|| v0.2|| nested "non-crossing" definitions|| simple|| waiting || 3|| v0.2|| pattern implication|| medium|| waiting || 4|| v0.2|| by-hand marked dead code|| medium|| waiting || 5|| v0.2|| cleaned-up output|| simple|| waiting || 6|| v0.2|| disjunctions in user constraints|| simple|| waiting || 7|| v0.2|| existential quantification detection bugs|| medium|| waiting || 8|| v0.2|| exact generation of inequalities by "quantifier elimination"|| difficult|| waiting || 9|| v0.2|| enumeration of dark shadow in Fourier-Motzkin|| medium|| waiting || 10|| v0.3|| mutual recursion|| difficult|| waiting || 11|| v0.3|| polynomial constraints|| difficult|| waiting || 12|| v0.3|| return-type-nested existential quantification|| difficult|| waiting || 13|| v0.3|| Haskell-like syntax input|| medium|| waiting || 14|| v0.3|| Haskell source code generation|| medium|| waiting || 15|| v0.3|| OCaml source code generation|| medium|| waiting || 16|| v0.4|| domain for lattices|| difficult|| waiting || 17|| v0.4|| domain for reals|| medium|| waiting || 18|| v0.4|| Datalog domain|| difficult|| waiting || 19|| v0.5|| first class polymorphism (annotation-free)|| perhaps possible|| waiting || 20|| v0.6|| type definition reconstruction and refinement|| perhaps possible|| waiting May 26, 2008, at 09:13 PM
by - plan for world domination
Deleted lines 4-8:
* more domains, the next one being lattices (partial orders with the minimum and maximum operators), later: reals, and user-defined rule-based (like in bottom-up logic programming) * existential quantification (if introduced before first class polymorphism, then still nested in any return part of a type (always-right on function arrows path into the type): this is needed for types that are already inferred) * first class polymorphism (universal and existential quantifiers nested in types) inspired by MLF Changed lines 17-44 from:
to:
!! Timetable: ||%border=1 ||!id||!for version||!feature||!difficulty||!state|| || #|| v0.2|| multiple definitions|| simple|| waiting || #|| v0.2|| nested "non-crossing" definitions|| simple|| waiting || #|| v0.2|| pattern implication|| medium|| waiting || #|| v0.2|| by-hand marked dead code|| medium|| waiting || #|| v0.2|| cleaned-up output|| simple|| waiting || #|| v0.2|| disjunctions in user constraints|| simple|| waiting || #|| v0.2|| existential quantification detection bugs|| medium|| waiting || #|| v0.2|| exact generation of inequalities by "quantifier elimination"|| difficult|| waiting || #|| v0.3|| mutual recursion|| difficult|| waiting || #|| v0.3|| polynomial constraints|| difficult|| waiting || #|| v0.3|| return-type-nested existential quantification|| difficult|| waiting || #|| v0.4|| domain for lattices|| difficult|| waiting || #|| v0.4|| domain for reals|| medium|| waiting || #|| v0.4|| Datalog domain|| difficult|| waiting || #|| v0.5|| first class polymorphism (annotation-free)|| perhaps possible|| waiting || #|| v0.6|| type definition reconstruction and refinement|| perhaps possible|| waiting Plans for future versions: * more domains, the next one being lattices (partial orders with the minimum and maximum operators), later: reals, and user-defined rule-based (like in bottom-up logic programming) * existential quantification (if introduced before first class polymorphism, then still nested in any return part of a type (always-right on function arrows path into the type): this is needed for types that are already inferred) * first class polymorphism (universal and existential quantifiers nested in types) inspired by MLF Deleted lines 47-56:
# multiple definitions (simple) # nested "non-crossing" definitions (simple) # mutual recursion (medium-to-difficult) # pattern implications (simple-to-medium) # by-hand marked dead code (simple-to-medium) # cleaned-up output (medium) # polynomial constraints (difficult) # return-type-nested existential quantification (medium-to-difficult) Changed lines 20-22 from:
* [[http://www.cs.unm.edu/~kapur/mypapers/aca2004.pdf | Deepak Kapur, '''Automatically Generating Loop Invariants Using Quantifier Elimination''']] (I to:
* [[http://www.cs.unm.edu/~kapur/mypapers/aca2004.pdf | Deepak Kapur, '''Automatically Generating Loop Invariants Using Quantifier Elimination''']] (I'll use this solution for linear inequalities, I haven't decided about polynomials yet) Changed lines 20-22 from:
* [[http://www.cs.unm.edu/~kapur/mypapers/aca2004.pdf | Deepak Kapur, '''Automatically Generating Loop Invariants Using to:
* [[http://www.cs.unm.edu/~kapur/mypapers/aca2004.pdf | Deepak Kapur, '''Automatically Generating Loop Invariants Using Quantifier Elimination''']] (I eliminate branch-local variables anyway, so I could use this technique where appropriate) May 26, 2008, at 12:11 PM
by - q elim comment
Changed lines 20-22 from:
* [[http://www.cs.unm.edu/~kapur/mypapers/aca2004.pdf | Deepak Kapur, '''Automatically Generating Loop Invariants Using Quantifier Elimination''']] ( to:
* [[http://www.cs.unm.edu/~kapur/mypapers/aca2004.pdf | Deepak Kapur, '''Automatically Generating Loop Invariants Using Quantifier Elimination''']] (I eliminate branch-local variables anyway, so I could use this technique where appropriate) Changed lines 11-16 from:
* [[http://pauillac.inria.fr/~fpottier/biblio/pottier.html | Vincent Simonet and Francois Pottier '''A constraint-based approach to guarded algebraic data types.''']] [5] (initial constraint generation) * [[http://citeseer.ist.psu.edu/henglein91type.html | Fritz Henglein '''Type Inference with Polymorphic Recursion''']] (how to apply to type inference and solve semi-unification) * [[http://www.cs.mu.oz.au/~sulzmann/manuscript/gadt-short.ps | Martin Sulzmann, Tom Schrijvers and Peter J. Stuckey '''Type Inference for GADTs via Herbrand Constraint Abduction''']] (how to "solve" implications) * [[http://verify.stanford.edu/PAPERS/BGD03.ps | Sergey Berezin, Vijay Ganesh, and David L. Dill '''An Online Proof-Producing Decision Procedure for Mixed-Integer Linear Arithmetic''']] (how to eliminate variables from linear inequalities) * [[http://www.kennknowles.com/research/knowles-flanagan.esop.07.type.pdf | Kenneth Knowles, Cormac Flanagan '''Type reconstruction for general refinement types''']] (that type-checking and type inference are separate things) to:
* [[http://pauillac.inria.fr/~fpottier/biblio/pottier.html | Vincent Simonet and Francois Pottier, '''A constraint-based approach to guarded algebraic data types.''']] [5] (initial constraint generation) * [[http://citeseer.ist.psu.edu/henglein91type.html | Fritz Henglein, '''Type Inference with Polymorphic Recursion''']] (how to apply to type inference and solve semi-unification) * [[http://www.cs.mu.oz.au/~sulzmann/manuscript/gadt-short.ps | Martin Sulzmann, Tom Schrijvers and Peter J. Stuckey, '''Type Inference for GADTs via Herbrand Constraint Abduction''']] (how to "solve" implications) * [[http://verify.stanford.edu/PAPERS/BGD03.ps | Sergey Berezin, Vijay Ganesh, and David L. Dill, '''An Online Proof-Producing Decision Procedure for Mixed-Integer Linear Arithmetic''']] (how to eliminate variables from linear inequalities) * [[http://www.kennknowles.com/research/knowles-flanagan.esop.07.type.pdf | Kenneth Knowles, Cormac Flanagan, '''Type reconstruction for general refinement types''']] (that type-checking and type inference are separate things) Changed line 18 from:
* [[http://www.lsi.upc.edu/~erodri/ | '''Automatic Generation of Polynomial Loop Invariants''']] (how to infer polynomial function invariants, work in progress) detection of loop invariants by abstract interpretation turns out to be very relevant to:
* [[http://www.lsi.upc.edu/~erodri/ | Enric Rodriguez-Carbonell, Deepak Kapur, '''Automatic Generation of Polynomial Loop Invariants''']] (how to infer polynomial function invariants, work in progress) detection of loop invariants by abstract interpretation turns out to be very relevant Changed lines 20-22 from:
* [[http://www.cs.unm.edu/~kapur/mypapers/aca2004.pdf | to:
* [[http://www.cs.unm.edu/~kapur/mypapers/aca2004.pdf | Deepak Kapur, '''Automatically Generating Loop Invariants Using Quantifier Elimination''']] (this is also what the program does) Changed lines 20-22 from:
* [[http://www.cs.unm.edu/~kapur/mypapers/aca2004.pdf | Automatically Generating Loop Invariants Using Quantifier Elimination]] (this is also what the program does to:
* [[http://www.cs.unm.edu/~kapur/mypapers/aca2004.pdf | Automatically Generating Loop Invariants Using Quantifier Elimination]] (this is also what the program does) May 26, 2008, at 11:37 AM
by - q elimination
Changed lines 15-16 from:
to:
* [[http://www.kennknowles.com/research/knowles-flanagan.esop.07.type.pdf | Kenneth Knowles, Cormac Flanagan '''Type reconstruction for general refinement types''']] (that type-checking and type inference are separate things) Changed lines 20-23 from:
to:
* [[http://www.cs.unm.edu/~kapur/mypapers/aca2004.pdf | Automatically Generating Loop Invariants Using Quantifier Elimination]] (this is also what the program does, in a limited form) Changed lines 32-33 from:
# to:
# cleaned-up output (medium) # polynomial constraints (difficult) Changed line 40 from:
# factoring-out the code for domains -- plug-in architecture (medium-to-difficult) to:
# factoring-out the code for domains -- plug-in architecture (medium-to-difficult) (small priority) Added line 43:
# export to compilable languages (medium) May 25, 2008, at 01:17 AM
by - linear arith abduction
Changed lines 18-19 from:
to:
* [[http://www.cse.unsw.edu.au/~mmaher/pubs/cp/linear_abdn_revised.pdf | M. Maher, '''Abduction of Linear Arithmetic Constraints''']] (this is what the program actually does) May 24, 2008, at 11:57 PM
by - polynomial loop invariants
Added lines 16-18:
Relevant literature I'm reading now: * [[http://www.lsi.upc.edu/~erodri/ | '''Automatic Generation of Polynomial Loop Invariants''']] (how to infer polynomial function invariants, work in progress) detection of loop invariants by abstract interpretation turns out to be very relevant Changed lines 20-23 from:
* [[http:// * [[http://www.cs.washington.edu/homes/deibel/papers/cse503-loop-invariants/cse503-loop-invariants.pdf | Katherine Deibel '''On the Automatic Detection of Loop Invariants''']] (that function invariants can actually be reconstructed) to:
* [[http://www.kennknowles.com/research/knowles-flanagan.esop.07.type.pdf | Kenneth Knowles, Cormac Flanagan '''Type reconstruction for general refinement types''']] (that type-checking and type inference are separate things) May 24, 2008, at 03:13 AM
by - more literature
Changed lines 10-15 from:
Literature * [[http * to:
Literature that directly influenced this work: * [[http://pauillac.inria.fr/~fpottier/biblio/pottier.html | Vincent Simonet and Francois Pottier '''A constraint-based approach to guarded algebraic data types.''']] [5] (initial constraint generation) * [[http://citeseer.ist.psu.edu/henglein91type.html | Fritz Henglein '''Type Inference with Polymorphic Recursion''']] (how to apply to type inference and solve semi-unification) * [[http://www.cs.mu.oz.au/~sulzmann/manuscript/gadt-short.ps | Martin Sulzmann, Tom Schrijvers and Peter J. Stuckey '''Type Inference for GADTs via Herbrand Constraint Abduction''']] (how to "solve" implications) * [[http://verify.stanford.edu/PAPERS/BGD03.ps | Sergey Berezin, Vijay Ganesh, and David L. Dill '''An Online Proof-Producing Decision Procedure for Mixed-Integer Linear Arithmetic''']] (how to eliminate variables from linear inequalities) More literature: * [[http://citeseerx.ist.psu.edu/viewdoc/summary;jsessionid=457D868A1C122657FAAE4EB004FEA2DA?cid=4503934 | Kenneth Knowles, Cormac Flanagan '''Type reconstruction for general refinement types''']] (that type-checking and type inference are separate things) * [[http://www.cs.washington.edu/homes/deibel/papers/cse503-loop-invariants/cse503-loop-invariants.pdf | Katherine Deibel '''On the Automatic Detection of Loop Invariants''']] (that function invariants can actually be reconstructed) May 24, 2008, at 12:22 AM
by - reshaped
Changed lines 6-7 from:
* more domains, the next one being lattices (partial orders with the minimum and maximum operators) to:
* more domains, the next one being lattices (partial orders with the minimum and maximum operators), later: reals, and user-defined rule-based (like in bottom-up logic programming) * existential quantification (if introduced before first class polymorphism, then still nested in any return part of a type (always-right on function arrows path into the type): this is needed for types that are already inferred) Added lines 10-15:
Literature: * [[http://pauillac.inria.fr/~fpottier/biblio/pottier.html | Vincent Simonet and Francois Pottier '''A constraint-based approach to guarded algebraic data types.''']] [5] * [[http://citeseerx.ist.psu.edu/viewdoc/summary;jsessionid=457D868A1C122657FAAE4EB004FEA2DA?cid=4503934 | Kenneth Knowles, Cormac Flanagan '''Type reconstruction for general refinement types''']] * [[http://citeseer.ist.psu.edu/henglein91type.html | Fritz Henglein '''Type Inference with Polymorphic Recursion''']] * [[http://verify.stanford.edu/PAPERS/BGD03.ps | Sergey Berezin, Vijay Ganesh, and David L. Dill '''An Online Proof-Producing Decision Procedure for Mixed-Integer Linear Arithmetic''']] Deleted line 16:
Deleted line 19:
Deleted line 28:
Deleted lines 34-39:
Literature: * [[http://pauillac.inria.fr/~fpottier/biblio/pottier.html | Vincent Simonet and Francois Pottier '''A constraint-based approach to guarded algebraic data types.''']] [5] * [[http://citeseerx.ist.psu.edu/viewdoc/summary;jsessionid=457D868A1C122657FAAE4EB004FEA2DA?cid=4503934 | Kenneth Knowles, Cormac Flanagan '''Type reconstruction for general refinement types''']] * [[http://citeseer.ist.psu.edu/henglein91type.html | Fritz Henglein '''Type Inference with Polymorphic Recursion''']] * [[http://verify.stanford.edu/PAPERS/BGD03.ps | Sergey Berezin, Vijay Ganesh, and David L. Dill '''An Online Proof-Producing Decision Procedure for Mixed-Integer Linear Arithmetic''']] May 24, 2008, at 12:18 AM
by - fourier
Changed lines 34-36 from:
* [[http://pauillac.inria.fr/~fpottier/biblio/pottier.html | Vincent Simonet and Francois Pottier * [[http://citeseerx.ist.psu.edu/viewdoc/summary;jsessionid=457D868A1C122657FAAE4EB004FEA2DA?cid=4503934 | Kenneth Knowles, Cormac Flanagan '''Type reconstruction for general refinement types * [[http://citeseer.ist.psu.edu/henglein91type.html | Fritz Henglein '''Type Inference with Polymorphic Recursion''']] to:
* [[http://pauillac.inria.fr/~fpottier/biblio/pottier.html | Vincent Simonet and Francois Pottier '''A constraint-based approach to guarded algebraic data types.''']] [5] * [[http://citeseerx.ist.psu.edu/viewdoc/summary;jsessionid=457D868A1C122657FAAE4EB004FEA2DA?cid=4503934 | Kenneth Knowles, Cormac Flanagan '''Type reconstruction for general refinement types''']] * [[http://citeseer.ist.psu.edu/henglein91type.html | Fritz Henglein '''Type Inference with Polymorphic Recursion''']] * [[http://verify.stanford.edu/PAPERS/BGD03.ps | Sergey Berezin, Vijay Ganesh, and David L. Dill '''An Online Proof-Producing Decision Procedure for Mixed-Integer Linear Arithmetic''']] Changed line 34 from:
* [[http://pauillac.inria.fr/~fpottier/biblio/pottier.html | Vincent Simonet and to:
* [[http://pauillac.inria.fr/~fpottier/biblio/pottier.html | Vincent Simonet and Francois Pottier. '''A constraint-based approach to guarded algebraic data types.''']] [5] May 23, 2008, at 10:52 PM
by - literature
Added lines 32-36:
Literature: * [[http://pauillac.inria.fr/~fpottier/biblio/pottier.html | Vincent Simonet and François Pottier. '''A constraint-based approach to guarded algebraic data types.''']] [5] * [[http://citeseerx.ist.psu.edu/viewdoc/summary;jsessionid=457D868A1C122657FAAE4EB004FEA2DA?cid=4503934 | Kenneth Knowles, Cormac Flanagan '''Type reconstruction for general refinement types.''']] * [[http://citeseer.ist.psu.edu/henglein91type.html | Fritz Henglein '''Type Inference with Polymorphic Recursion''']] May 19, 2008, at 06:22 PM
by - uploaded
Changed lines 1-2 from:
The first version of my project which hasn't got name yet, is codenamed HMG Arith. It is not HMG(Arith) actually, because it doesn't have type annotations on recursive definitions. No type annotations at all. This is revision 0.1 of HMG Arith to:
The first version of my project which hasn't got name yet, is codenamed HMG Arith. It is not HMG(Arith) actually, because it doesn't have type annotations on recursive definitions. No type annotations at all. This is unofficial revision 0.1 of HMG Arith, work in progress, avoid the flood of diagnostic information by directing stderr to /dev/null. Changed lines 8-31 from:
to:
* first class polymorphism (universal and existential quantifiers nested in types) inspired by MLF Bugs: # binary_multiply.gadt: result should be existentially quantified Unfinished: # multiple definitions (simple) # nested "non-crossing" definitions (simple) # mutual recursion (medium-to-difficult) # pattern implications (simple-to-medium) # by-hand marked dead code (simple-to-medium) # polished output (medium) # return-type-nested existential quantification (medium-to-difficult) Further plans: # domain of lattices (medium-to-difficult) # domain of real numbers (simple-to-medium) # enumeration of dark shadow on Fourier satisfiability (medium) # factoring-out the code for domains -- plug-in architecture (medium-to-difficult) # rule-based saturation domain (medium-to-difficult) # first-class polymorphism (difficult) May 06, 2008, at 03:59 PM
by - release of HMG Arith.
Added lines 1-8:
The first version of my project which hasn't got name yet, is codenamed HMG Arith. It is not HMG(Arith) actually, because it doesn't have type annotations on recursive definitions. No type annotations at all. This is revision 0.1 of HMG Arith. The natural numbers domain constraints reconstruction is very slow, resulting in the @@split@@ function capability inference time being 1m10s on my computer. Revision 1.0 of HMG Arith is planned to be reasonably fast, or if that cannot be achieved, as fast as possible ;-) [[Attach:hmg_arith.tar.gz]] Plans for future versions: * more domains, the next one being lattices (partial orders with the minimum and maximum operators) * existential quantification (if introduced before first class polymorphism, then still nested at least in any return part of a type (always-right on function arrows path into the type) * first class polymorphism (universal and existential quantifiers nested in types) inspired by MLF |