A Type Theory with Partial Equivalence Relations as Types
Abhishek Anand Mark Bickford Robert L. Constable Vincent Rahli May 13, 2014
PER types May 13, 2014 1/20
A Type Theory with Partial Equivalence Relations as Types Abhishek - - PowerPoint PPT Presentation
A Type Theory with Partial Equivalence Relations as Types Abhishek Anand Mark Bickford Robert L. Constable Vincent Rahli May 13, 2014 PER types May 13, 2014 1/20 PRL Group Abhishek Anand Mark Bickford Robert L. Constable Richard Eaton
PER types May 13, 2014 1/20
Abhishek Anand Mark Bickford Robert L. Constable Richard Eaton Vincent Rahli PER types May 13, 2014 2/20
PER types May 13, 2014 3/20
PER types May 13, 2014 4/20
PER types May 13, 2014 5/20
PER types May 13, 2014 6/20
PER types May 13, 2014 7/20
◮ per(R) is a type if R is a PER on Base. ◮ a = b ∈ per(R) if R a b. ◮ per(R1) = per(R2) ∈ Ui if R1 and R2 are equivalent
PER types May 13, 2014 8/20
H ⊢ per(R) = per(R′) ∈ Type BY [pertypeEquality] H, x : Base, y : Base ⊢ R x y ∈ Type H, x : Base, y : Base ⊢ R′ x y ∈ Type H, x : Base, y : Base, z : R x y ⊢ R′ x y H, x : Base, y : Base, z : R′ x y ⊢ R x y H, x : Base, y : Base, z : R x y ⊢ R y x H, x : Base, y : Base, z : Base, u : R x y, v : R y z ⊢ R x z H, x : t1 = t2 ∈ per(R) ⊢ C ⌊ext e⌋ BY [pertypeElimination] H, x : t1 = t2 ∈ per(R), [y : R t1 t2] ⊢ C ⌊ext e⌋ H ⊢ t1 = t2 ∈ per(R) BY [pertypeMemberEquality] H ⊢ per(R) ∈ Type H ⊢ R t1 t2 H ⊢ t1 ∈ Base H ⊢ t2 ∈ Base
PER types May 13, 2014 9/20
PER types May 13, 2014 10/20
PER types May 13, 2014 11/20
PER types May 13, 2014 12/20
PER types May 13, 2014 13/20
PER types May 13, 2014 14/20
PER types May 13, 2014 15/20
PER types May 13, 2014 16/20
PER types May 13, 2014 17/20
◮ Algebraic datatypes: {t : coDT | halts(size(t))}. ◮ Inductive types using Bar Induction.
PER types May 13, 2014 18/20
◮ A small core of primitive types. ◮ Simple rules.
{ Flexibility◮ Lets user define even more types. ◮ No need to modify/update the meta-theory.
{ Practicality?◮ We’re already using it. ◮ We’re still experimenting with the intensional per type.
PER types May 13, 2014 19/20
Stuart F. Allen. A Non-Type-Theoretic Semantics for Type-Theoretic Language. PhD thesis, Cornell University, 1987. Abhishek Anand and Vincent Rahli. Towards a formally verified proof assistant. Accepted to ITP 2014, 2014. Douglas J. Howe. Equality in lazy computation systems. In Proceedings of Fourth IEEE Symposium on Logic in Computer Science, pages 198–203. IEEE Computer Society, 1989. PER types May 13, 2014 20/20