<xsl:if test="@id">
<xsl:attribute name="m:xref"><xsl:value-of select="@id"/></xsl:attribute>
</xsl:if>
+ <xsl:variable name="id" select="m:csymbol/@id"/>
<xsl:choose>
<!-- FORALL -->
<xsl:when test="$name='forall'">
<!-- ***************************************** -->
<!-- PROOF -->
<xsl:when test="$name='proof'">
- <m:maction actiontype="toggle">
<!-- CSC: $explodeall until the annotationHelper can handle mactions -->
<xsl:variable name="test" select="(not($explodeall)) and
(not(preceding-sibling::*[1]/text()='letin1')) and
(not(preceding-sibling::*[1]/text()='rw_step')) and
(not(name(..)='m:lambda'))"/>
- <xsl:if test="$test">
- <!-- Details hided (default) -->
+ <xsl:variable name="hidden_details">
+ <xsl:if test="$test">
+ <!-- Details hided (default) -->
+ <m:mtable align="baseline 1" equalrows="false" columnalign="left">
+ <m:mtr>
+ <m:mtd>
+ <m:mrow>
+ <m:mtext mathcolor="Maroon">We can prove</m:mtext>
+ <m:mphantom><m:mtext>_</m:mtext></m:mphantom>
+ <xsl:apply-templates select="*[position()=3]"/>
+ <m:mrow>
+ <m:mphantom><m:mtext>_</m:mtext></m:mphantom>
+ <m:mtext mathcolor="Green">(explain)</m:mtext>
+ </m:mrow>
+ </m:mrow>
+ </m:mtd>
+ </m:mtr>
+ </m:mtable>
+ </xsl:if>
+ </xsl:variable>
+ <xsl:variable name="shown_details">
+ <!-- Show details -->
<m:mtable align="baseline 1" equalrows="false" columnalign="left">
<m:mtr>
<m:mtd>
<m:mrow>
- <m:mtext mathcolor="Maroon">We can prove</m:mtext>
+ <xsl:apply-templates select="*[position()=2]"/>
+ </m:mrow>
+ </m:mtd>
+ </m:mtr>
+ <m:mtr>
+ <m:mtd>
+ <m:mrow>
+ <m:mtext mathcolor="Maroon">we proved</m:mtext>
<m:mphantom><m:mtext>_</m:mtext></m:mphantom>
<xsl:apply-templates select="*[position()=3]"/>
<m:mrow>
- <m:mphantom><m:mtext>_</m:mtext></m:mphantom>
- <m:mtext mathcolor="Green">(explain)</m:mtext>
+ <m:mphantom>
+ <m:mtext>_</m:mtext>
+ </m:mphantom>
+ <xsl:if test="$test">
+ <m:mtext mathcolor="Green">(hide details)</m:mtext>
+ </xsl:if>
</m:mrow>
</m:mrow>
</m:mtd>
</m:mtr>
</m:mtable>
- </xsl:if>
- <!-- Show details -->
- <m:mtable align="baseline 1" equalrows="false" columnalign="left">
- <m:mtr>
- <m:mtd>
- <m:mrow>
- <xsl:apply-templates select="*[position()=2]"/>
- </m:mrow>
- </m:mtd>
- </m:mtr>
- <m:mtr>
- <m:mtd>
- <m:mrow>
- <m:mtext mathcolor="Maroon">we proved</m:mtext>
- <m:mphantom><m:mtext>_</m:mtext></m:mphantom>
- <xsl:apply-templates select="*[position()=3]"/>
- <m:mrow>
- <m:mphantom>
- <m:mtext>_</m:mtext>
- </m:mphantom>
- <xsl:if test="$test">
- <m:mtext mathcolor="Green">(hide details)</m:mtext>
- </xsl:if>
- </m:mrow>
- </m:mrow>
- </m:mtd>
- </m:mtr>
- </m:mtable>
- </m:maction>
+ </xsl:variable>
+ <xsl:choose>
+ <xsl:when test="$test">
+ <m:maction actiontype="toggle">
+ <xsl:copy-of select="$hidden_details"/>
+ <xsl:copy-of select="$shown_details"/>
+ </m:maction>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:copy-of select="$shown_details"/>
+ </xsl:otherwise>
+ </xsl:choose>
</xsl:when>
<!-- LETIN1 -->
<xsl:when test="$name='letin1'">
<m:mo stretchy="false">[</m:mo>
<xsl:apply-templates select="*[4]"/>
<m:mo mathcolor="green">
- <xsl:if test="@id != ''">
- <xsl:attribute name="m:xref"><xsl:value-of select="@id"/></xsl:attribute>
+ <xsl:if test="$id != ''">
+ <xsl:attribute name="m:xref"><xsl:value-of select="$id"/></xsl:attribute>
</xsl:if>←</m:mo>
<xsl:apply-templates select="*[2]"/>
<m:mo stretchy="false">]</m:mo>
<xsl:when test="$name='lift'">
<m:msup>
<m:mo mathcolor="green">
- <xsl:if test="@id != ''">
- <xsl:attribute name="m:xref"><xsl:value-of select="@id"/></xsl:attribute>
+ <xsl:if test="$id != ''">
+ <xsl:attribute name="m:xref"><xsl:value-of select="$id"/></xsl:attribute>
</xsl:if>↑</m:mo>
<xsl:apply-templates select="*[2]"/>
</m:msup>
<xsl:when test="$name='lift_with_base'">
<m:msubsup>
<m:mo mathcolor="green">
- <xsl:if test="@id != ''">
- <xsl:attribute name="m:xref"><xsl:value-of select="@id"/></xsl:attribute>
+ <xsl:if test="$id != ''">
+ <xsl:attribute name="m:xref"><xsl:value-of select="$id"/></xsl:attribute>
</xsl:if>↑</m:mo>
<xsl:apply-templates select="*[3]"/>
<xsl:apply-templates select="*[4]"/>
<xsl:apply-templates select="*[2]"/>
<m:munder>
<m:mo mathcolor="green">
- <xsl:if test="@id != ''">
- <xsl:attribute name="m:xref"><xsl:value-of select="@id"/></xsl:attribute>
+ <xsl:if test="$id != ''">
+ <xsl:attribute name="m:xref"><xsl:value-of select="$id"/></xsl:attribute>
</xsl:if>→</m:mo>
<m:mi mathcolor="green">β</m:mi>
</m:munder>
<xsl:apply-templates select="*[2]"/>
<m:munderover>
<m:mo mathcolor="green">
- <xsl:if test="@id != ''">
- <xsl:attribute name="m:xref"><xsl:value-of select="@id"/></xsl:attribute>
+ <xsl:if test="$id != ''">
+ <xsl:attribute name="m:xref"><xsl:value-of select="$id"/></xsl:attribute>
</xsl:if>→</m:mo>
<m:mi mathcolor="green">β</m:mi>
<m:mi mathcolor="green">*</m:mi>
<xsl:apply-templates select="*[2]"/>
<m:munder>
<m:mo mathcolor="green">
- <xsl:if test="@id != ''">
- <xsl:attribute name="m:xref"><xsl:value-of select="@id"/></xsl:attribute>
+ <xsl:if test="$id != ''">
+ <xsl:attribute name="m:xref"><xsl:value-of select="$id"/></xsl:attribute>
</xsl:if>⇒</m:mo>
<m:mi mathcolor="green">β</m:mi>
</m:munder>
<xsl:apply-templates select="*[2]"/>
<m:munderover>
<m:mo mathcolor="green">
- <xsl:if test="@id != ''">
- <xsl:attribute name="m:xref"><xsl:value-of select="@id"/></xsl:attribute>
+ <xsl:if test="$id != ''">
+ <xsl:attribute name="m:xref"><xsl:value-of select="$id"/></xsl:attribute>
</xsl:if>⇒</m:mo>
<m:mi mathcolor="green">β</m:mi>
<m:mi mathcolor="green">*</m:mi>
<!-- forgetful -->
<xsl:when test="$name='forgetful'">
<m:mfenced open="|" close="|">
- <xsl:if test="@id != ''">
- <xsl:attribute name="m:xref"><xsl:value-of select="@id"/></xsl:attribute>
+ <xsl:if test="$id != ''">
+ <xsl:attribute name="m:xref"><xsl:value-of select="$id"/></xsl:attribute>
</xsl:if>
<xsl:apply-templates select="*[2]"/>
</m:mfenced>
<xsl:when test="$name='isomorphic'">
<xsl:apply-templates select="*[2]"/>
<m:mo mathcolor="green">
- <xsl:if test="@id != ''">
- <xsl:attribute name="m:xref"><xsl:value-of select="@id"/></xsl:attribute>
+ <xsl:if test="$id != ''">
+ <xsl:attribute name="m:xref"><xsl:value-of select="$id"/></xsl:attribute>
</xsl:if>≅</m:mo>
<xsl:apply-templates select="*[3]"/>
</xsl:when>
<!-- interp -->
<xsl:when test="$name='forgetful'">
<m:mfenced open="[" close="]">
- <xsl:if test="@id != ''">
- <xsl:attribute name="m:xref"><xsl:value-of select="@id"/></xsl:attribute>
+ <xsl:if test="$id != ''">
+ <xsl:attribute name="m:xref"><xsl:value-of select="$id"/></xsl:attribute>
</xsl:if>
<xsl:apply-templates select="*[2]"/>
</m:mfenced>