Skip to content

ToposInstitute/emtt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Element Model Type Theory

This is a type theory for Lex^op, the opposite of the category of finite limit theories. The accompanying paper may be found at https://forest.topos.site/ocl-006Y.xml. The basic judgements of this type theory are the following.

We write a morphism in Lex^op from C to D as C <-- D, as it corresponds to a morphism D --> C in Lex.

Γ ctx
# Γ is a context
# [Γ] is an object of Lex^op

Γ ⊢ T theory
# Γ derives that Τ is a theory
# a display morphism [Γ; M:T] <-- [Γ]

Γ ⊢ M : T
# Γ derives that M is a model of T
# a section [Γ] <-M-- [Γ,M:T] of the display morphism

Γ ⊢ A type
# Γ derives that A is a type
# An object of [Γ]
# Identified with its display morphism [Γ; x:A] = [Γ]/[A] <-- [Γ] given by X ↦ X x A.

Γ ⊢ a : A
# Γ derives that a is an element of A
# A global element a: 1 --> A in [Γ]
# Identified with a section of [Γ; x:A] <-- [Γ] which sends X --> A its fiber X_a

Check out examples to see how it's used.

TODO

  1. Pretty printing, including graphviz output for the e-graph
  2. Allow top-level theories/models to not have brackets
  3. Allow record types to have additional defined members
  4. Allow opening a record

About

Element Model Type Theory

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages