Closed ralsei closed 2 years ago
Current things that need to be fixed:
hcom
was a Chk
tactic. We can do this by dropping a hole when hcom
doesn't satisfy the boundary, and then removing the hole :sparkles: magically :sparkles: when the boundary is satisfied. I think this UX is generally better, and should probably apply for other similar Syn
tactics like coe
.HFillInfer
complains about needing a true cofibration. I am not sure why.HComInfer
infers the wrong cofibration (in the case of bruno.cooltt
, ∂ i
instead of ∂ i ∨ ∂ k
. This is probably because the subtype is not the only source of boundary necessary. I am not sure where to get the ∂ k
from.I think that the hcom
et al as a Chk
tactic can be worked with later, so I'm putting this up for review.
I will do my best to review this today.
[The title of this PR is pretty bad... I'm not sure exactly what to call this change still!]
This PR adds a new syntax for
hcom
, in which the type and cofibration are read off the goal type and its boundary (so, when the goal is asub
). A demo of this used wherever possible is given in the provided test filebruno.cooltt
, a formalization of much of Cubical informal type theory: the higher groupoid structure by Bruno Bentzen.The motivation for this is that leading into the graphical editor project, we want the user to have to enter as little information as possible when the computer writes an
hcom
for them.This is currently very WIP. Namely, as discussed, the tactical
hcom_chk
needs to fix the "local soundness" property mentioned by Jon to qualify as a goodChk
tactic. In addition, the near-identicalhfill
syntax is presently nonfunctional.