]>
matita.cs.unibo.it Git - helm.git/log
Andrea Berlingieri [Thu, 25 Apr 2019 13:07:24 +0000 (15:07 +0200)]
Add last declarative tactics, modify rewriting tactics
Add types for induction and case analysis to grafiteAst. Add new types
for obtain and conclude
Add pp code for induction, case, obtain, conclude
Add calls in grafiteEngine for induction, case, obtain, conclude
Add parsing rules for induction, case, obtain, conclude
Rename a function for code clarity
Add function to swap two goals on the stack (useful for obtain)
Add a conclude function that checks that the given term is the lhs of
the current goal
Add a obtain function that starts an equality chain beginning with the
given term in a new goal
Modify rewriting step to only handle single equality chains steps
Add implementation for induction and case.
Add signatures for induction, case, conclude, obtain
Add keywords to matita.lang for induction, case, conclude, obtain
Andrea Berlingieri [Tue, 23 Apr 2019 11:20:09 +0000 (13:20 +0200)]
Changes to declarative tactics, implementation of equality chain
Fix type for RewritingStep, add a type for Print Stack (a debug tool)
Fix PP for RewritingStep, generalized just_to_tactic_just for the type
[>`Auto of auto_params | `Term of NotationPt.term]
Add parsing rule for print_stack, fix parsing rules for obtain, conclude
e =
Fix indentation for declarative.ml
Change mk_just to return a tactic (instead of a lowtactic)
Modify extract_first_goal_from_status to take the first goal from the
stack, instead of the metasenv
Change assume, suppose, andelim and existselim to use distribute_tac
Add a mustdot function to check whether there's the need to call the
dot_tactic at the end. The dot tactic is used to focus on a single goal
at the time when there are multiple open goals
Change bydone to use the dot tactic to switch between multiple goals
Modify we_need_to_prove to use the dot_tac to focus on a single goal
Add a type_of_tactic_term function to extract the type of a tactic_term
(used in RewritingStep)
Implement rewritingstep, which covers conclude and =; obtain is in the
works
Implement print_stack, for debug purposes (prints the stack to stderr)
Modify declarative's signature to add the new functions
Add firs_tac to nTactic's signature
Change auto_lowtac's signature to return a tactic
Correct natural_deduction.ma for the new version. Had to change some
\forall with \Pi
Andrea Berlingieri [Sat, 13 Apr 2019 15:32:48 +0000 (17:32 +0200)]
Many changes
Change auto_params in grafiteAst.ml from being abstract on the 'term list
to being concretized to nterm list. Modify type just accordingly. Modify ntactic
types accordingly.
Add ExistsElim, AndElim, RewritingStep, Thesisbecomes types to ntactic.
Add pretty printing for ExistsElim, AndElim, RewritingStep, Thesisbecomes.
Add calls in grafite engine for the implementation of ExistsElim, AndElim, Thesisbecomes.
Add parsing rule for the "let x := t" tactic. It uses the NLetIn
ntactic.
Add parsing rules for Thesisbecomes and Rewritingstep (conclude, obtain
and =).
Modify mk_just to use the new auto_lowtac entry point for automation for
LCF-like tactics.
Remove same_type function in declarative.ml.
Add are_convertible function in declarative that uses beta-conversion.
Add a lambda_abstract tactic that abstracts the common parts of suppose
and assume. Add 3 Exception types for this tactic to handle error
situations. Modify assume and suppose accordingly
Add assert_tac that verifies that a given term is the same as the
conclusion and that two given types are beta-convertible, if a second
type is given. If all checks pass a continuation is exec'd, otherwise an
exception is raised.
Modify we_need_to_prove, by_just_we_proved to use assert_tac.
Add implementation of thesisbecomes.
Add implementation of existselim and andelim.
Modify declarative signature to add the new tactics.
Add a flag to index_local_equations and index_local_equations2 to
inhibit the use of global candidates. Modify all the functions that call
these two functions and the calls to those functions accordingly
(auto_main, do_something, top_cache, intros, auto_clusters)
Add a flag to auto_tac' to specify whether to use local candidates or
not. Modify the part where the local cands are calculated to check the
flag before proceeding.
Add auto_params to nnAuto.
Modify auto_tac to auto_tac' which takes the candidates to use
explicitly as a parameter and two flags that indicate whether to use
local candidates and whether to use only the given candidates.
Add a candidates_from_ctx function to calculate the candidates in a
given context.
Add a auto_lowtac entry point for LCF-like tactics.
Modify nnAuto signature to use auto_params instead of its explicit
version (nterm list * (string * string) list).
Add new "keywords" to matita.lang.
Add debug prints for a bug where the program would freeze. (They can
probably be removed)
Andrea Berlingieri [Sun, 31 Mar 2019 12:58:51 +0000 (14:58 +0200)]
Add drafts for some tactics
Add drafts for assume, suppose, we_need_to_prove.
Add a just type to handle justfications in tactics.
Add drafts for the by_done and by_just_we_proved tactics.
Everything needs testing
Andrea Berlingieri [Thu, 14 Mar 2019 09:31:01 +0000 (10:31 +0100)]
Partially restore the suppose tactic
Add a type for the suppose tactic in GrafiteAst
Add pretty printing code for the suppose tactic
Add a parsing rule for the suppose tactic in GrafiteParser
Add a call in to the suppose tactic in GrafiteEngine
Add code for the suppose tactic in Declarative
Add syntax highlight tag for the suppose tactic
Andrea Berlingieri [Wed, 13 Mar 2019 22:18:13 +0000 (23:18 +0100)]
Partially restore the assume tactic
Add a type for the assume tactic in GrafiteAst
Add pretty printing code for the assume tactic
Add a parsing rule for the assume tactic in GrafiteParser
Add a call in to the assume tactic in GrafiteEngine
Add a file for the declarative tactics to the ng_tactics module
Add code for the assume tactic in Declarative
Add syntax highlight tag for the assume tactic
Add the exact_tac signature to the interface file of nTactics
Ferruccio Guidi [Mon, 19 Nov 2018 19:36:53 +0000 (20:36 +0100)]
supplementary files for web site
+ css file name corrected
Ferruccio Guidi [Mon, 19 Nov 2018 19:30:26 +0000 (20:30 +0100)]
Merge branch 'master' of ssh://matita.cs.unibo.it:/srv/git/helm
Ferruccio Guidi [Mon, 19 Nov 2018 19:29:48 +0000 (20:29 +0100)]
some supplementary items for web site
one icon and on css file
Ferruccio Guidi [Wed, 14 Nov 2018 17:54:14 +0000 (18:54 +0100)]
presentation upload
A newborn in the λδ family: introducing λδ-2B
Ferruccio Guidi [Thu, 8 Nov 2018 16:32:40 +0000 (17:32 +0100)]
update in basic_2 and in web site
+ updates on cpce an related concepts
+ "versions" table updated for web site
Ferruccio Guidi [Tue, 6 Nov 2018 10:52:03 +0000 (11:52 +0100)]
update in bsasic_2
+ cnv_cpce_trans_lpce started
Ferruccio Guidi [Tue, 6 Nov 2018 09:57:00 +0000 (10:57 +0100)]
update in basic_2
+ lpce
Ferruccio Guidi [Mon, 5 Nov 2018 19:38:52 +0000 (20:38 +0100)]
update in basic_2, static_2, web site
+ bug fix and first results on cpce
+ crux favicon for web site is now 32x32
+ some auxiliary files for web site committed/rearranged
Ferruccio Guidi [Fri, 2 Nov 2018 20:52:43 +0000 (21:52 +0100)]
update in basic_2
+ more properties on types from λδ-1A including:
type preservation by valid r-equivalence
Ferruccio Guidi [Thu, 1 Nov 2018 08:48:50 +0000 (09:48 +0100)]
milestone uupdate in basic_2
extended and restricted type rules justified
Ferruccio Guidi [Sat, 27 Oct 2018 16:53:07 +0000 (18:53 +0200)]
update in basic_2
the restricted type rules are justified
Ferruccio Guidi [Mon, 15 Oct 2018 21:09:15 +0000 (23:09 +0200)]
auxiliary update in basic_2
- work in progress to justify the type rules for application
Ferruccio Guidi [Mon, 1 Oct 2018 16:10:23 +0000 (18:10 +0200)]
update in basic_2
+ nta_drops completed
Ferruccio Guidi [Sat, 29 Sep 2018 14:21:54 +0000 (16:21 +0200)]
update in basic_2 and apps_2
+ more results on typing
+ first results on iterated typing
+ minor corrections
Ferruccio Guidi [Thu, 27 Sep 2018 18:00:57 +0000 (20:00 +0200)]
update in basic_2 and static_2
+ first results on type assignment
+ more notation for validity
+ eta-conversion defined (for use in linking the notions of validity)
Ferruccio Guidi [Fri, 21 Sep 2018 10:37:30 +0000 (12:37 +0200)]
milestone in basic_2, λδ-2A reconstructed
+ confluence of rt-computation (not proved in λδ-2A)
+ preservation of validity for rt-computation
Ferruccio Guidi [Wed, 19 Sep 2018 18:31:44 +0000 (20:31 +0200)]
update in ground_2, static_2, basic_2
+ confluence for restricted rt_transition under hyps
+ positive terms wrt the system of reference parked
Ferruccio Guidi [Tue, 18 Sep 2018 18:57:20 +0000 (20:57 +0200)]
update in static_2 and basic_2
+ restricted rt-computation;
more results towards preservation
Ferruccio Guidi [Thu, 13 Sep 2018 12:36:56 +0000 (14:36 +0200)]
dependences for ocaml version 4.05.0
Ferruccio Guidi [Wed, 12 Sep 2018 13:55:58 +0000 (15:55 +0200)]
update in ground_2, static_2, basic_2
+ minor additioms
Ferruccio Guidi [Sat, 8 Sep 2018 19:09:55 +0000 (21:09 +0200)]
update in static_2 and basic_2
+ cnv_cpms_conf_aux proved
for positive terms wrt the system of reference
+ unused files parked or removed
Ferruccio Guidi [Sat, 1 Sep 2018 11:48:31 +0000 (13:48 +0200)]
update in basic_2 and ground_2
+ more results on restricted transition
+ minor additions to the arith library
Ferruccio Guidi [Sun, 19 Aug 2018 16:14:55 +0000 (18:14 +0200)]
severe bug found in parallel zeta
+ final commit: component "examples" corrected
+ ex_cpr_omega improved: Ω ➡ Ω in exactly three steps (long awaited property)
Ferruccio Guidi [Sat, 18 Aug 2018 13:51:05 +0000 (15:51 +0200)]
severe bug found in parallel zeta
+ partial commit: component "dynamic" corrected
+ some additions towards preservation
Ferruccio Guidi [Thu, 16 Aug 2018 12:48:30 +0000 (14:48 +0200)]
severe bug found in parallel zeta
+ partial commit: component "rt_computation" corrected
+ minor additions
Ferruccio Guidi [Tue, 14 Aug 2018 18:31:06 +0000 (20:31 +0200)]
severe bug found in parallel zeta
the transition was not parallel, now it is.
+ partial commit: component "rt_transition" corrected and minor bugs ficed
+ some additions in static_2 to support the correction
Ferruccio Guidi [Tue, 7 Aug 2018 16:41:42 +0000 (18:41 +0200)]
commit in ground_2, static_2, basic_2, apps_2
+ first steps towards cnv_cpms_conf_aux
+ examples reconstructed
+ additions in the relocation library
+ addition in the arith library
Ferruccio Guidi [Wed, 1 Aug 2018 22:30:25 +0000 (00:30 +0200)]
parameter sintax added to axiom statement
the syntax is already present in the other statements
Ferruccio Guidi [Wed, 1 Aug 2018 18:47:17 +0000 (20:47 +0200)]
update in ground_2 and basic_2
+ cnv_cpm_conf_lpr_aux (rt-validity implies diamond property)
+ one addition in the arithmetics library
Ferruccio Guidi [Sat, 28 Jul 2018 13:40:56 +0000 (15:40 +0200)]
update in ground_2 and basic_2
+ modification in cnv allows to improve cnv_cpm_trans_lpr_aux
+ modification in lsubv allows to prove its transitivity
+ one lemma added to the arithmetic library
Ferruccio Guidi [Fri, 27 Jul 2018 18:50:11 +0000 (20:50 +0200)]
update in basic_2
+ refinement for native validity (lsubv)
allows to prove cnv_cpm_trans_lpr_aux (rt-confluence implies validity)
Ferruccio Guidi [Thu, 26 Jul 2018 21:17:45 +0000 (23:17 +0200)]
update in basic_2 and ground_2
+ auxiliary lemmas for preservation begin
+ one addition in the arith library
+ some typos in names fixed
Ferruccio Guidi [Sat, 21 Jul 2018 19:28:59 +0000 (21:28 +0200)]
update in apps_2
+ the model is now aware of polarized abbreviation
+ the term model is on its way
Ferruccio Guidi [Thu, 19 Jul 2018 15:00:59 +0000 (17:00 +0200)]
update in functional
+ support for multiple filling
Ferruccio Guidi [Thu, 19 Jul 2018 12:47:21 +0000 (14:47 +0200)]
update in ground_2
+ basic relocation swap
+ one name fixed
+ bugs emerging in cpr fixed
Ferruccio Guidi [Sat, 14 Jul 2018 18:34:18 +0000 (20:34 +0200)]
updated xoa and predefined virtuals
+ xoa: existing decentralized files are not overwritten by default
+ predefined virtuals: an addition for use in λδ
Ferruccio Guidi [Fri, 13 Jul 2018 15:34:46 +0000 (17:34 +0200)]
update in static_2 and app_2
+ term model started
+ functional relocation reactivated
+ some renaming
Ferruccio Guidi [Wed, 11 Jul 2018 10:54:33 +0000 (12:54 +0200)]
update in static_2 and app_2
+ advances on the support for models
+ tentative definition of shift (incomplete because unary binders are missing in terms)
+ minor updates and corrections
Ferruccio Guidi [Mon, 2 Jul 2018 14:10:32 +0000 (16:10 +0200)]
syntactic components detached from basic_2 become static_2
+ web site updated accordingly
Ferruccio Guidi [Mon, 25 Jun 2018 22:54:48 +0000 (00:54 +0200)]
renaming in basic_2
+ a notation problem solved
Ferruccio Guidi [Sat, 23 Jun 2018 18:03:00 +0000 (20:03 +0200)]
renaming
+ the predicate in elimination principles in now Q uniformly
Ferruccio Guidi [Tue, 12 Jun 2018 13:48:33 +0000 (15:48 +0200)]
renaming in basic_2
nv is now cnv
Ferruccio Guidi [Mon, 11 Jun 2018 21:36:41 +0000 (23:36 +0200)]
Merge branch 'master' of ssh://matita.cs.unibo.it:/srv/git/helm
# Conflicts:
# matita/matita/contribs/lambdadelta/basic_2/web/basic_2_src.tbl
Ferruccio Guidi [Mon, 11 Jun 2018 18:49:00 +0000 (20:49 +0200)]
bug fix in basic_2
+ cpcs_aaa_mono marked as lemma 1500
+ fix in basic_2 web page
Ferruccio Guidi [Mon, 11 Jun 2018 18:49:00 +0000 (20:49 +0200)]
bug fix in basic_2
+ cpcs_aaa_mono marked as lemma 1500
+ fix in basic_2 web page
Ferruccio Guidi [Mon, 11 Jun 2018 12:12:16 +0000 (14:12 +0200)]
update in basic_2
+ advances on nv ...
Ferruccio Guidi [Sat, 9 Jun 2018 18:32:48 +0000 (20:32 +0200)]
update in basic_2
+ component rt_equivalence completed!
Ferruccio Guidi [Fri, 8 Jun 2018 18:27:21 +0000 (20:27 +0200)]
milestone update in basic_2
componemt rt_computation cpmpleted!
Ferruccio Guidi [Thu, 7 Jun 2018 14:58:57 +0000 (16:58 +0200)]
update in basic_2
+ cprs completed
Ferruccio Guidi [Wed, 6 Jun 2018 20:54:41 +0000 (22:54 +0200)]
update in ground_2 and basic_2
+ advances on cpms, cprs, lprs
+ support for decentralized xoa
Ferruccio Guidi [Mon, 4 Jun 2018 17:58:17 +0000 (19:58 +0200)]
update in ground_2 and basic_2
+ more results on cpm, and cpms
Ferruccio Guidi [Wed, 30 May 2018 22:36:31 +0000 (00:36 +0200)]
update in basic_2
+ lprs started ...
Ferruccio Guidi [Tue, 29 May 2018 19:23:00 +0000 (21:23 +0200)]
commit completed in basic_2
+ fpbs, fpbg, fsb reconstructed
Ferruccio Guidi [Tue, 29 May 2018 13:26:17 +0000 (15:26 +0200)]
partial commit in basic_2
+ rdsx (was lsx) reconstructed: replaces lfsx
Ferruccio Guidi [Fri, 25 May 2018 14:39:04 +0000 (16:39 +0200)]
partial update update in basic_2
+ lpxs reconstructed
Ferruccio Guidi [Wed, 23 May 2018 19:08:25 +0000 (21:08 +0200)]
update in ground_2 and basic_2 (partial commit)
+ preferring lpx and lpr over lfpx and lfpr since lpx seems unavoidable
+ rt_computation will be updated by the next commit
Ferruccio Guidi [Mon, 14 May 2018 18:49:03 +0000 (20:49 +0200)]
update in basic_2
+ advances on native validity
Ferruccio Guidi [Sat, 12 May 2018 20:42:14 +0000 (22:42 +0200)]
update in ground_2 and basic_2
+ more results on cpms
Ferruccio Guidi [Sat, 12 May 2018 16:44:43 +0000 (18:44 +0200)]
update in basic_2
+ moreresults on cpms and cprs
Ferruccio Guidi [Fri, 11 May 2018 19:28:42 +0000 (21:28 +0200)]
update in basic_2
+ first file on r-equivalence
+ renaming
Ferruccio Guidi [Fri, 11 May 2018 17:26:34 +0000 (19:26 +0200)]
update in basic_2
definition of native validity
Ferruccio Guidi [Fri, 11 May 2018 14:40:36 +0000 (16:40 +0200)]
update in basic_2
+ cprs.ma completely ported
Ferruccio Guidi [Thu, 10 May 2018 22:02:57 +0000 (00:02 +0200)]
update in basic_2
+ first results on cpms and cprs
Ferruccio Guidi [Thu, 10 May 2018 10:27:14 +0000 (12:27 +0200)]
update in ground_2
set up for equality insertion lemmas
Ferruccio Guidi [Wed, 9 May 2018 18:29:59 +0000 (20:29 +0200)]
update in basic_2
+ weight of a global environment
+ renaming
Ferruccio Guidi [Wed, 9 May 2018 18:10:36 +0000 (20:10 +0200)]
update in groud_2 and models
+ denotation is preserved by r-transition
+ minor additions
Ferruccio Guidi [Tue, 8 May 2018 18:57:08 +0000 (20:57 +0200)]
update in grond_2 and models
+ denotation is preserved by lifts in extensional models
Ferruccio Guidi [Mon, 7 May 2018 19:59:37 +0000 (21:59 +0200)]
update in apps_2
+ update to web site
Ferruccio Guidi [Sat, 5 May 2018 10:20:33 +0000 (12:20 +0200)]
update in basic_2
+ list length is now in a separate file
Ferruccio Guidi [Fri, 4 May 2018 23:20:47 +0000 (01:20 +0200)]
update in ground_2 and basic_2
+ updated notation for lists
+ updated structure for global environments
Ferruccio Guidi [Thu, 3 May 2018 20:27:36 +0000 (22:27 +0200)]
update in ground_2 and models
+ bug fixed in local environment interpretation
extensional equality of evaluations allows to prove a lemma
Ferruccio Guidi [Thu, 3 May 2018 11:34:08 +0000 (13:34 +0200)]
notational update in lambdadelta completed
+ minor improvements
Ferruccio Guidi [Tue, 1 May 2018 22:56:24 +0000 (00:56 +0200)]
partial notational update in ground_2 and basic_2 ....
+ the notation for lists and streams contains a bug
Ferruccio Guidi [Tue, 1 May 2018 16:34:07 +0000 (18:34 +0200)]
update in models and ground_2
+ model declaration completed
+ compatibility with veq, first results
+ some old files moved in etc for now
Ferruccio Guidi [Mon, 30 Apr 2018 16:12:14 +0000 (18:12 +0200)]
initial definition of λδ model
+ intensional and extensional variant
+ denotational equivalence
this is previously uncommitted matter ported to current version of λδ
Ferruccio Guidi [Fri, 27 Apr 2018 10:16:13 +0000 (12:16 +0200)]
update in basic_2
+ first results on cpms
+ minor improvements
Ferruccio Guidi [Wed, 25 Apr 2018 11:25:19 +0000 (13:25 +0200)]
update in ground_2 and basic_2
+ old and unused definition llstar replaced with new definition ltc to appear in cpms
Ferruccio Guidi [Fri, 20 Apr 2018 18:50:47 +0000 (20:50 +0200)]
notational update in ground_2 and basic_2
+ one addition in predefined_virtuals
+ works citing \lambda\delta updated on web site
Ferruccio Guidi [Fri, 20 Apr 2018 15:47:08 +0000 (17:47 +0200)]
decentralizing core notation continues ...
+ uparrows and downarrows clash with \lambda\delta
+ improved list of failing files
Ferruccio Guidi [Mon, 16 Apr 2018 19:47:12 +0000 (21:47 +0200)]
update in basic_2 and ground_2
+ some notational changes
+ some renaming
+ some dependences updated
Ferruccio Guidi [Mon, 16 Apr 2018 09:27:06 +0000 (11:27 +0200)]
anniversary push
+ one more work citing\lambda\delta
+ more predefined virtuals
Ferruccio Guidi [Thu, 5 Apr 2018 14:33:50 +0000 (16:33 +0200)]
bug fixed in xoa generator
notations of existentials must differ according to arity of the involved predicates
+ porting to the updated version of xoa
+ one addition in predefined virtuals
Ferruccio Guidi [Thu, 29 Mar 2018 22:28:23 +0000 (00:28 +0200)]
decentralizing core notation
centralized core notation (one single file) has two disadvantages:
- when some core notation is added the whole "world" must be recompiled
- unused core notation loaded in the parser gets in the way when defining contrib-specific notation
by defining core notation on a "one notation per file" basis:
+ every contrib file can load just the needed notation
+ sharing is possible as before in that two contrib files can load the same notation file
decentralalization will occur is stages:
this is the first stage meant to solve some issues in
+ lambdadelta (! blocked by fact)
+ certifiedRev (o{} blocked by compose, comprehension, singl, subset)
Ferruccio Guidi [Wed, 28 Mar 2018 16:27:11 +0000 (18:27 +0200)]
milestone update in basic_2
+ big tree theorem proved!
Ferruccio Guidi [Wed, 28 Mar 2018 14:52:45 +0000 (16:52 +0200)]
update in basic_2
+ lemma csx_fsb proved
Ferruccio Guidi [Tue, 27 Mar 2018 13:29:01 +0000 (15:29 +0200)]
update in basic_2
+ last property of fpbs proved
Ferruccio Guidi [Wed, 21 Mar 2018 19:20:36 +0000 (20:20 +0100)]
update in basic_2
+ first results on fsb
Ferruccio Guidi [Tue, 20 Mar 2018 17:18:41 +0000 (18:18 +0100)]
update in basic_2
+ fpbg completed
Ferruccio Guidi [Mon, 19 Mar 2018 19:12:15 +0000 (20:12 +0100)]
update in basic_2
+ advances on fpbg
+ Makefile update
Ferruccio Guidi [Sat, 17 Mar 2018 17:19:15 +0000 (18:19 +0100)]
update in basic_2
+ fpbs completed (some lemmas parked)
Ferruccio Guidi [Fri, 16 Mar 2018 19:45:42 +0000 (20:45 +0100)]
update in basic_2
+ first results on fpbs
+ minor fixes
Ferruccio Guidi [Wed, 14 Mar 2018 14:53:37 +0000 (15:53 +0100)]
update in basic_2
+ advances on fpbq
+ minor updates
Ferruccio Guidi [Tue, 13 Mar 2018 16:58:12 +0000 (17:58 +0100)]
update in basic_2
+ advances on fpb completed
Ferruccio Guidi [Mon, 12 Mar 2018 22:26:55 +0000 (23:26 +0100)]
update in basic_2
advances on fpb to be continued ...