$anr))($dtzw) } ‚Üí ‚àè($fmtd : (A ‚Üí A)){ (‚àè($fmte : A){ eq(A)($g($fmtd($fmte))($fmte))($anr) } ‚Üí group(A)) })) }) }

@ semigroupMk(A).typ
res94: Typ[U] = ‚àè($aoj : (A ‚Üí (A ‚Üí A))){ (‚àè($aok : A){ ‚àè($aol : A){ ‚àè($aom : A){ eq(A)($aoj($aoj($aok)($aol))($aom))($aoj($aok)($aoj($aol)($aom))) } } } ‚Üí semigroup(A)) }
</code></pre>
<p>Recall that equality is defined with the based path induction principle, so even the first point is a parameter, not 