Effective Quotient

In type theory, a quotient type X / R 𝑋 𝑅 X/R is said to be effective if the Identity Type on X / R 𝑋 𝑅 X/R coincides exactly with the Equivalence Relation R 𝑅 R . Notably, a quotient X / R 𝑋 𝑅 X/R is effective if the following Inference Rule is Admissible:

Ξ“βŠ’x,y:X/RΞ“βŠ’p:x=yΞ“βŠ’π–Ύπ–Ώπ–Ώβ’(x,y,p):R⁒x⁒yprovesΞ“π‘₯𝑦:𝑋𝑅Γproves𝑝:π‘₯𝑦provesΓ𝖾𝖿𝖿π‘₯𝑦𝑝:𝑅π‘₯𝑦\par\frac{\Gamma\vdash x,y:X/R\qquad\Gamma\vdash p:x=y}{\Gamma\vdash\mathsf{% eff}(x,y,p):R\;x\;y}

This was historically quite hard to do without breaking Canonicity, as simply adding the 𝖾𝖿𝖿 𝖾𝖿𝖿 \mathsf{eff} terms causes computation to get stuck. Moreover, if the equality type is a Strict Proposition yet R 𝑅 R is an H-Proposition, this is literally impossible without some form of Equality Reflection see Section 8.2 of A Cubical Language for Bishop Sets.

This gets extra tricky if one decides to erase propositions, as there is literally no way to recover proofs of R ⁒ ( x , y ) 𝑅 π‘₯ 𝑦 R(x,y) . This can be solved in a couple of ways: