History log of /seL4-l4v-master/isabelle/src/Pure/Isar/obtain.ML
Revision Date Author Comments
# 1a9fc291 19-Sep-2019 wenzelm <none@none>

clarified signature;


# 9ad84890 18-Sep-2019 wenzelm <none@none>

more robust declaration of resulting statement text, instead of somewhat accidental (Variable.maybe_bind_term result_binds in generic_goal);


# 1e698ab2 25-Feb-2018 wenzelm <none@none>

eliminated ASCII syntax from Pure bootstrap;
tuned comments;


# bee57ad5 23-Jun-2016 wenzelm <none@none>

tuned signature;


# bdcf2c56 26-Apr-2016 wenzelm <none@none>

'obtain' supports structured statements (similar to 'define');


# 3694d86f 26-Apr-2016 wenzelm <none@none>

more uniform operations for structured statements;


# d10439ab 26-Apr-2016 wenzelm <none@none>

defs are closed, which leads to proper auto_bind_facts;
misc tuning;


# b0ffb1f0 24-Apr-2016 wenzelm <none@none>

clarified modules;


# 6bed86f1 18-Apr-2016 wenzelm <none@none>

prefer internal attribute source;


# 369e4785 13-Dec-2015 wenzelm <none@none>

more general types Proof.method / context_tactic;
proper context for Method.insert_tac;
tuned;


# a5a7379a 13-Nov-2015 wenzelm <none@none>

support for structure statements in 'assume', 'presume';


# 2759308d 25-Sep-2015 wenzelm <none@none>

moved remaining display.ML to more_thm.ML;


# bc3d393f 16-Aug-2015 wenzelm <none@none>

added Thm.chyps_of;
eliminated Thm.cprep_thm, with its potentially ill-typed (!) tpairs (cf. c9ad3e64ddcf);


# 99c7a9c0 08-Jul-2015 wenzelm <none@none>

Variable.focus etc.: optional bindings provided by user;
Subgoal.focus command: more careful treatment of user-provided bindings;


# 9a9cf694 05-Jul-2015 wenzelm <none@none>

simplified Thm.instantiate and derivatives: the LHS refers to non-certified variables -- this merely serves as index into already certified structures (or is ignored);


# c32449ff 22-Jun-2015 wenzelm <none@none>

support 'when' statement, which corresponds to 'presume';


# 819aaa63 15-Jun-2015 wenzelm <none@none>

more robust: variables need not occur in body;


# 82c280f2 14-Jun-2015 wenzelm <none@none>

improved treatment of Element.Obtains via Expression.prepare_stmt;
discontinued pointless all_types ctxt: prep_var is always sequential;


# 68559853 14-Jun-2015 wenzelm <none@none>

tuned comment;


# 9f0ac7dd 13-Jun-2015 wenzelm <none@none>

tuned signature;


# 242280bb 13-Jun-2015 wenzelm <none@none>

open parameters for 'consider' rule;


# 2cc93773 13-Jun-2015 wenzelm <none@none>

eliminated slightly odd Element.close_form: toplevel specifications have different policies than proof text elements;


# eaff6ae0 13-Jun-2015 wenzelm <none@none>

clarified 'obtain', using structured 'have' statement;


# e8feeefd 13-Jun-2015 wenzelm <none@none>

tuned comments;


# 4515deea 13-Jun-2015 wenzelm <none@none>

clarified 'consider', using structured 'have' statement;


# 832cfa8b 11-Jun-2015 wenzelm <none@none>

support for 'consider' command;
allow full "fixes" for 'obtain' command;
tuned signature;


# cb0ea758 11-Jun-2015 wenzelm <none@none>

support to parse obtain clause without type-checking yet;
tuned signature;


# 5598464f 11-Jun-2015 wenzelm <none@none>

tuned signature;


# bf702211 10-Jun-2015 wenzelm <none@none>

clarified local after_qed: result is not exported yet;
proper goal_export for show: 'if' is like 'assume';


# caed48f6 10-Jun-2015 wenzelm <none@none>

support for "if prems" in local goal statements;


# 748d3290 09-Jun-2015 wenzelm <none@none>

more uniform treatment of auto bindings vs. explicit user bindings;
misc tuning;


# 630dc3a7 09-Jun-2015 wenzelm <none@none>

tuned signature;


# 68de38c3 09-Jun-2015 wenzelm <none@none>

allow for_fixes for 'have', 'show' etc.;
tuned signature;


# 5e07309b 09-Jun-2015 wenzelm <none@none>

clarified abstracted term bindings (again, see c8384ff11711);


# e70eab41 09-Jun-2015 wenzelm <none@none>

clarified term bindings;


# c09aec9b 08-Jun-2015 wenzelm <none@none>

clarified context;


# b23e1a6e 08-Jun-2015 wenzelm <none@none>

tuned;


# d412b049 08-Jun-2015 wenzelm <none@none>

clarified abstracted term bindings;


# 130a85b7 08-Jun-2015 wenzelm <none@none>

avoid duplicate warning due to Variable.warn_extra_tfrees;


# f76b3fc4 08-Jun-2015 wenzelm <none@none>

clarified Proof_Context.cert_propp/read_propp;
tuned;


# 87ee17ea 08-Jun-2015 wenzelm <none@none>

more careful treatment of term bindings in 'obtain' proof body;
tuned signature;


# 51a366ee 07-Jun-2015 wenzelm <none@none>

tuned signature;


# da6a5689 07-Jun-2015 wenzelm <none@none>

tuned signature;


# db484122 07-Jun-2015 wenzelm <none@none>

tuned signature;


# 597a229d 07-Jun-2015 wenzelm <none@none>

tuned signature;


# d0279931 30-May-2015 wenzelm <none@none>

more explicit context;


# cff2e75b 08-Apr-2015 wenzelm <none@none>

proper context for Object_Logic operations;


# e7b7ba43 06-Mar-2015 wenzelm <none@none>

clarified context;


# 740a17d4 06-Mar-2015 wenzelm <none@none>

Thm.cterm_of and Thm.ctyp_of operate on local context;


# 04cfe663 05-Mar-2015 wenzelm <none@none>

tuned -- more explicit use of context;


# e3946d66 01-Mar-2015 wenzelm <none@none>

added Proof_Context.cterm_of/ctyp_of convenience;


# 1b8bab3e 09-May-2014 wenzelm <none@none>

more position markup to help locating the query context, e.g. from "Info" dockable;


# 215ced67 07-May-2014 wenzelm <none@none>

print results as "state", to avoid intrusion into the source text;
print new local theory (again);


# 47e6e8c3 31-Dec-2013 wenzelm <none@none>

proper context for norm_hhf and derived operations;
clarified tool context in some boundary cases;


# 47ff4e33 26-Jun-2013 wenzelm <none@none>

tuned signature;


# 95d64a2f 25-Nov-2012 wenzelm <none@none>

Isabelle-specific implementation of quasi-abstract markup elements -- back to module arrangement before d83797ef0d2d;


# 4f9330a5 29-Sep-2012 wenzelm <none@none>

more explicit Syntax_Trans.mark_bound_abs/mark_bound_body: preserve type information for show_markup;


# d45f9828 27-Apr-2012 wenzelm <none@none>

clarified signature;


# 830776f5 28-Feb-2012 wenzelm <none@none>

display proof results as "state", to suppress odd squiggles in the Prover IDE (see also 9240be8c8c69);


# cfb69d7d 14-Jan-2012 wenzelm <none@none>

discontinued old-style Term.list_abs in favour of plain Term.abs;


# 10581850 14-Jan-2012 wenzelm <none@none>

discontinued old-style Term.list_all_free in favour of plain Logic.all;


# 6d1b678c 07-Nov-2011 wenzelm <none@none>

tuned signature -- avoid spurious Thm.mixed_attribute;


# cac30389 03-Nov-2011 wenzelm <none@none>

more general Proof_Context.bind_propp, which allows outer parameters;
obtain: some support for term bindings within the proof, depending on parameters;


# b811b2f5 03-Nov-2011 wenzelm <none@none>

tuned signature;


# 0bc2db2c 03-Nov-2011 wenzelm <none@none>

tuned signature -- canonical argument order;


# ec1196d6 09-Jun-2011 wenzelm <none@none>

discontinued Name.variant to emphasize that this is old-style / indirect;


# 480c6b4f 28-Apr-2011 wenzelm <none@none>

eliminated slightly odd Proof_Context.bind_fixes;
tuned;


# 0e58aec0 27-Apr-2011 wenzelm <none@none>

more precise positions via binding;


# 48faef5e 27-Apr-2011 wenzelm <none@none>

clarified Variable.focus vs. Variable.focus_cterm -- eliminated clone;


# 2081297b 27-Apr-2011 wenzelm <none@none>

tuned signature -- eliminated odd comment;


# c1838d5e 27-Apr-2011 wenzelm <none@none>

more formal treatment of parameters, avoiding slightly odd Variable.intern_fixed;


# f176da4e 27-Apr-2011 wenzelm <none@none>

reorganized fixes as specialized (global) name space;


# 87db399e 16-Apr-2011 wenzelm <none@none>

modernized structure Proof_Context;


# 6052557e 15-Apr-2011 wenzelm <none@none>

tuned signature, disentangled dependencies;


# 1c017ad4 08-Apr-2011 wenzelm <none@none>

explicit structure Syntax_Trans;
discontinued old-style constrainAbsC;

--HG--
rename : src/Pure/Syntax/syn_trans.ML => src/Pure/Syntax/syntax_trans.ML


# 3272990d 17-Dec-2010 wenzelm <none@none>

renamed structure MetaSimplifier to raw_Simplifer, to emphasize its meaning;

--HG--
rename : src/Pure/meta_simplifier.ML => src/Pure/raw_simplifier.ML


# d19dab54 05-Sep-2010 wenzelm <none@none>

turned show_sorts/show_types into proper configuration options;


# 7e04636f 30-Aug-2010 wenzelm <none@none>

tuned messages: discontinued spurious full-stops (messages are occasionally composed unexpectedly);


# 14c9715d 25-Apr-2010 wenzelm <none@none>

modernized naming conventions of main Isar proof elements;


# bbc8cf56 20-Mar-2010 wenzelm <none@none>

renamed varify/unvarify operations to varify_global/unvarify_global to emphasize that these only work in a global situation;


# c3452482 06-Mar-2010 wenzelm <none@none>

modernized structure Object_Logic;


# 02c48bf5 25-Nov-2009 haftmann <none@none>

normalized uncurry take/drop

--HG--
extra : rebase_source : 647c8b5a6641f0eef6d4d81646474d16388f9fb9


# e3772a5e 24-Nov-2009 haftmann <none@none>

curried take/drop

--HG--
extra : rebase_source : 6e6b508d936640bef00f0ad0c4fb089ad5253ef0


# 8d58bf50 02-Nov-2009 wenzelm <none@none>

modernized structure Proof_Display;


# eb813265 02-Nov-2009 wenzelm <none@none>

modernized structure AutoBind;


# 1f5693a0 01-Nov-2009 wenzelm <none@none>

modernized structure Context_Rules;


# d92faf79 01-Nov-2009 wenzelm <none@none>

modernized structure Rule_Cases;


# b2816004 17-Oct-2009 wenzelm <none@none>

indicate CRITICAL nature of various setmp combinators;


# 348d0907 30-Sep-2009 wenzelm <none@none>

eliminated dead code;


# 2f400cf0 26-Jul-2009 wenzelm <none@none>

Variable.focus: named parameters;


# 886198b6 20-Jul-2009 wenzelm <none@none>

proper context for Display.pretty_thm etc. or old-style versions Display.pretty_thm_global, Display.pretty_thm_without_context etc.;


# b5762232 24-Jun-2009 wenzelm <none@none>

renamed Variable.import_thms to Variable.import (back again cf. ed7aa5a350ef -- Alice is no longer supported);
renamed Variable.importT_thms to Variable.importT (again);


# f265c422 28-Mar-2009 wenzelm <none@none>

renamed ProofContext.add_fixes_i to ProofContext.add_fixes, eliminated obsolete external version;


# b3226228 28-Mar-2009 wenzelm <none@none>

replaced add_binds(_i) by bind_terms -- internal version only;


# edb6ecd3 19-Mar-2009 wenzelm <none@none>

use Name.of_binding for basic logical entities without name space (fixes, case names etc.);


# 121e82fb 04-Mar-2009 blanchet <none@none>

Merge.


# 4ad18568 03-Mar-2009 wenzelm <none@none>

renamed Binding.name_pos to Binding.make, renamed Binding.base_name to Binding.name_of, renamed Binding.map_base to Binding.map_name, added mandatory flag to Binding.qualify;
minor tuning;


# 0c02a0cf 03-Mar-2009 wenzelm <none@none>

Thm.binding;


# 5823ee39 21-Jan-2009 haftmann <none@none>

binding is alias for Binding.T


# 673dc4e3 07-Jan-2009 wenzelm <none@none>

qed/after_qed: singleton result;


# e331b867 05-Dec-2008 haftmann <none@none>

Name.name_of -> Binding.base_name


# e01ddee4 04-Dec-2008 haftmann <none@none>

cleaned up binding module and related code


# 8fe337eb 02-Sep-2008 wenzelm <none@none>

type Attrib.binding abbreviates Name.binding without attributes;
Attrib.no_binding refers to Name.no_binding;


# 7937bb8d 02-Sep-2008 wenzelm <none@none>

explicit type Name.binding for higher-specification elements;
simplified ProofContext.inferred_param;


# d06d005b 08-Oct-2007 wenzelm <none@none>

generic Syntax.pretty/string_of operations;


# 857a42e5 03-Apr-2007 wenzelm <none@none>

renamed Variable.import to import_thms (avoid clash with Alice keywords);


# 8afc6dd5 06-Dec-2006 wenzelm <none@none>

export: added explicit term operation;


# 87fdda9f 30-Nov-2006 wenzelm <none@none>

qualified MetaSimplifier.norm_hhf(_protect);


# fd78293d 07-Nov-2006 wenzelm <none@none>

moved statement to specification.ML;


# c5a1c081 30-Sep-2006 wenzelm <none@none>

statement: Variable.fix_frees;


# 22d1ce30 02-Aug-2006 wenzelm <none@none>

added tactical result;
simplified obtain_export: no Seq.seq, no lifting of result prems;
tuned;


# 0ea2b558 27-Jul-2006 wenzelm <none@none>

moved basic assumption operations from structure ProofContext to Assumption;


# 145b5ec9 26-Jul-2006 wenzelm <none@none>

Variable.import(T): result includes fixed types/terms;


# e7bde3bd 25-Jul-2006 wenzelm <none@none>

added find_free (from term.ML);


# 09e316e2 10-Jul-2006 wenzelm <none@none>

replaced Term.variant(list) by Name.variant(_list);
Name.internal;


# d6d3b1f3 04-Jul-2006 wenzelm <none@none>

guess: proper context for polymorphic parameters;
tuned;


# b933888b 03-Jul-2006 wenzelm <none@none>

obtain_export: Thm.generalize;
guess: fixed handling of mixfixes of vars;
tuned;


# 2c39c869 17-Jun-2006 wenzelm <none@none>

Term.internal;


# 8e9ea7cf 15-Jun-2006 wenzelm <none@none>

ProofContext: moved variable operations to struct Variable;


# a1d1193d 11-Jun-2006 wenzelm <none@none>

fixes: include mixfix syntax;


# 134bafbc 05-Jun-2006 wenzelm <none@none>

guess: more careful about local polymorphism;
guess: explicit term vars in statement (avoids warning);


# a61ca0d4 06-May-2006 wenzelm <none@none>

removed 'concl is' patterns;


# cf09f0e2 27-Apr-2006 wenzelm <none@none>

tuned basic list operators (flat, maps, map_filter);


# 37f66101 20-Mar-2006 wenzelm <none@none>

subtract (op =);


# 8af71ade 02-Feb-2006 wenzelm <none@none>

Proof.refine_insert;
statements: always use Attrib.src;


# b7ade9a7 01-Feb-2006 wenzelm <none@none>

obtain(_i): optional name for 'that';
added statement (cf. Locale.theorem);


# 17dec8dd 31-Jan-2006 wenzelm <none@none>

tuned comments;


# 55edd5b5 23-Jan-2006 wenzelm <none@none>

ProofContext.inferred_param;


# acdc5889 21-Jan-2006 wenzelm <none@none>

simplified type attribute;


# 624cd344 15-Jan-2006 wenzelm <none@none>

guess: used fixed inferred_type of vars;


# e3517f6b 14-Jan-2006 wenzelm <none@none>

sane ERROR handling;


# f963f12f 12-Jan-2006 wenzelm <none@none>

uniform handling of fixes;


# f46acec4 10-Jan-2006 wenzelm <none@none>

generic attributes;


# da282d77 16-Nov-2005 wenzelm <none@none>

Term.betapplys;


# 2b85784f 10-Nov-2005 wenzelm <none@none>

guess: Seq.hd;
Term.find_free;


# 87c3b641 08-Nov-2005 wenzelm <none@none>

simplified after_qed;


# a2606b97 28-Oct-2005 wenzelm <none@none>

renamed Goal constant to prop, more general protect/unprotect interfaces;


# 033c0570 21-Oct-2005 wenzelm <none@none>

improved check_result;
Goal.init, Goal.conclude;


# eba94216 18-Oct-2005 wenzelm <none@none>

tuned error msg;
tuned;


# 9e46abc8 14-Oct-2005 wenzelm <none@none>

added 'guess', which derives the obtained context from the course of reasoning;


# b693d2a1 13-Sep-2005 wenzelm <none@none>

tuned Isar proof elements;


# a2df3c3b 18-Aug-2005 wenzelm <none@none>

prepare attributes here;
tuned;


# 8f1bf77f 08-Aug-2005 ballarin <none@none>

After_qed takes result argument.


# 1dbd51e6 14-Jul-2005 wenzelm <none@none>

tuned;


# 53bd14d2 13-Jul-2005 haftmann <none@none>

(intermediate commit)


# 50c27d60 29-Jun-2005 wenzelm <none@none>

no Syntax.internal on thesis;


# eee46a1e 02-Mar-2005 skalberg <none@none>

Move towards standard functions.


# 3dffd254 13-Feb-2005 skalberg <none@none>

Deleted Library.option type.


# 33b1b845 21-Jun-2004 kleing <none@none>

Merged in license change from Isabelle2004


# 2d5b3c27 27-Feb-2002 wenzelm <none@none>

improved messages;


# 69dd1d8d 05-Dec-2001 wenzelm <none@none>

Syntax.internal thesis;


# 71114365 03-Dec-2001 wenzelm <none@none>

renamed rule_context.ML to context_rules.ML;


# e95668e5 28-Nov-2001 wenzelm <none@none>

RuleContext.intro_query_local;


# c8b8396c 11-Nov-2001 wenzelm <none@none>

Proof.have_i: multiple statements;


# 242f0b47 05-Nov-2001 wenzelm <none@none>

pretty/print functions with context;


# dce328dc 22-Oct-2001 wenzelm <none@none>

improved source arrangement of obtain;


# 4176e229 16-Oct-2001 wenzelm <none@none>

simplified exporter interface;


# ed50274e 14-Oct-2001 wenzelm <none@none>

use ObjectLogic;


# d67a5a04 01-Feb-2001 wenzelm <none@none>

comment


# e990e663 04-Dec-2000 wenzelm <none@none>

fixed binding of parameters;


# d5cd602e 13-Nov-2000 wenzelm <none@none>

tuned statement args;


# d490e3ec 03-Nov-2000 wenzelm <none@none>

improved handling of "that": insert into goal, only declare as Pure "intro";
eliminated functor;


# 6f6b919f 31-Jul-2000 wenzelm <none@none>

tuned;


# 841ef8ee 29-Jul-2000 wenzelm <none@none>

turned into plain context element;
exporter setup;


# 10485293 13-Jul-2000 wenzelm <none@none>

bind_skolem;


# c4ba1de8 05-May-2000 wenzelm <none@none>

GPLed;


# 94359e3c 30-Mar-2000 wenzelm <none@none>

ProofContext.find_free;


# 179d7da0 20-Mar-2000 wenzelm <none@none>

handle general case: params and hyps of thesis;


# 108f4bbf 06-Jan-2000 wenzelm <none@none>

obtain: renamed 'in' to 'where';


# 0e68a8a4 05-Jan-2000 wenzelm <none@none>

ObtainFun;
prepare vars / asms / pats only once;


# 23de9e85 22-Oct-1999 wenzelm <none@none>

warn_extra_tfrees;


# 3ed2866d 01-Oct-1999 wenzelm <none@none>

tuned comment;


# d3286aba 01-Oct-1999 wenzelm <none@none>

The 'obtain' language element -- achieves (eliminated) existential
quantification proof command level.