From 843d53d64983593d765a203605cd2aab00ed8361 Mon Sep 17 00:00:00 2001 From: Josh Chen Date: Wed, 30 Jan 2019 16:09:50 +0100 Subject: Remove "constrained" notation for type families. Clean and document. --- HoTT_Base.thy | 33 +++++++++++++-------------------- 1 file changed, 13 insertions(+), 20 deletions(-) diff --git a/HoTT_Base.thy b/HoTT_Base.thy index 93ef70e..99ab5ce 100644 --- a/HoTT_Base.thy +++ b/HoTT_Base.thy @@ -1,8 +1,15 @@ -(* -Homotopy Type Theory +(******** +Isabelle/HoTT: Foundational definitions and notation +Jan 2019 -Foundational setup and definitions -*) +This file is the starting point, and contains the base setup and definitions of the object logic. +Among other things, it defines: + +* Meta-numerals to index the universe hierarchy, and related axioms. +* The universe hierarchy and its governing rules. +* Named theorems for later use by proof methods. + +********) theory HoTT_Base imports Pure @@ -11,7 +18,7 @@ begin section \Basic setup\ -declare[[eta_contract=false]] +declare[[eta_contract=false]] (* I'm not actually sure this does anything... *) typedecl t \ \Type of object-logic terms (which includes the types)\ typedecl ord \ \Type of meta-numerals\ @@ -51,26 +58,13 @@ Instead use @{method elim}, or instantiate @{thm U_cumulative} suitably. @{thm U_cumulative'} is an alternative rule used by the method \cumulativity\ in @{file HoTT_Methods.thy}. \ - -section \Type families\ - -abbreviation (input) constrained :: "[t \ t, t, t] \ prop" ("(1_:/ _ \ _)") - where "f: A \ B \ (\x. x : A \ f x: B)" - -text \ -The abbreviation @{abbrev constrained} is used to define type families, which are constrained expressions @{term "P: A \ B"}, where @{term "A::t"} and @{term "B::t"} are small types. -\ - -type_synonym tf = "t \ t" \ \Type of type families\ - - section \Named theorems\ named_theorems comp named_theorems form text \ -Declare named theorems to be used by proof methods defined in @{file HoTT_Methods.thy}. +The named theorems above will be used by proof methods defined in @{file HoTT_Methods.thy}. @{attribute comp} declares computation rules, which are used by the \compute\ method, and may also be passed to invocations of the method \subst\ to perform equational rewriting. @@ -80,5 +74,4 @@ These are mainly used by the \cumulativity\ method, which lifts typ (* Todo: Set up the Simplifier! *) - end -- cgit v1.2.3