From 8833cdf99d3128466d85eb88aeb8e340e07e937c Mon Sep 17 00:00:00 2001 From: Josh Chen Date: Sat, 18 Aug 2018 23:27:25 +0200 Subject: Reorganize methods --- HoTT_Methods.thy | 42 +++++++++++++++++++++++------------------- 1 file changed, 23 insertions(+), 19 deletions(-) (limited to 'HoTT_Methods.thy') diff --git a/HoTT_Methods.thy b/HoTT_Methods.thy index 4d2174b..32e412b 100644 --- a/HoTT_Methods.thy +++ b/HoTT_Methods.thy @@ -12,23 +12,19 @@ theory HoTT_Methods begin -section \Method definitions\ - -subsection \Simple type rule proof search\ +section \Deriving typing judgments\ text " - Prove type judgments \A : U\ and inhabitation judgments \a : A\ using the type rules declared [intro] in the respective theory files, as well as additional provided lemmas. - - Can also perform typechecking, and search for elements of a type. + \routine\ proves routine type judgments \a : A\ using the rules declared [intro] in the respective theory files, as well as additional provided lemmas. " -method simple uses lems = (assumption | rule lems | standard)+ - - -subsection \Wellformedness checker\ +method routine uses lems = (assumption | rule lems | standard)+ text " - \wellformed\ finds a proof of any valid typing judgment derivable from the judgments passed as \lem\. + \wellformed'\ finds a proof of any valid typing judgment derivable from the judgment passed as \jdmt\. + If no judgment is passed, it will try to resolve with the theorems declared \wellform\. + \wellform\ is like \wellformed'\ but takes multiple judgments. + The named theorem \wellform\ is declared in HoTT_Base.thy. " @@ -42,14 +38,7 @@ method wellformed uses lems = match lems in lem: "?X : ?Y" \ \wellformed' jdmt: lem\ -subsection \Derivation search\ - -text " Combine \simple\ and \wellformed\ to search for derivations of judgments." - -method derive uses lems = (simple lems: lems | wellformed lems: lems)+ - - -subsection \Substitution and simplification\ +section \Substitution and simplification\ text "Import the \subst\ method, used for substituting definitional equalities." @@ -64,4 +53,19 @@ text "Perform basic single-step computations:" method compute uses lems = (subst lems comp | rule lems comp) +section \Derivation search\ + +text " Combine \routine\, \wellformed\, and \compute\ to search for derivations of judgments." + +method derive uses lems = (routine lems: lems | compute lems: lems | wellformed lems: lems)+ + + +section \Induction\ + +text " + Placeholder section for the automation of induction, i.e. using the elimination rules. + At the moment one must directly apply them with \rule X_elim\. +" + + end -- cgit v1.2.3