mirror of
https://gitlab.kit.edu/uskyk/typicalc.git
synced 2024-11-13 20:53:09 +00:00
add mathjax proof tree
This commit is contained in:
parent
e114e7e3f5
commit
2c62690428
18
frontend/src/mathjax-proof-tree.ts
Normal file
18
frontend/src/mathjax-proof-tree.ts
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
import {MathjaxAdapter} from "./mathjax-adapter";
|
||||||
|
import {TemplateResult} from "lit-html";
|
||||||
|
|
||||||
|
class MathjaxProofTree extends MathjaxAdapter {
|
||||||
|
|
||||||
|
render(): TemplateResult {
|
||||||
|
return super.render();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
protected showStep(_n: number): void {
|
||||||
|
}
|
||||||
|
|
||||||
|
protected calculateSteps(): void {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
customElements.define('tc-proof-tree', MathjaxProofTree);
|
@ -6,6 +6,7 @@ import com.vaadin.flow.component.orderedlayout.VerticalLayout;
|
|||||||
import com.vaadin.flow.router.PageTitle;
|
import com.vaadin.flow.router.PageTitle;
|
||||||
import com.vaadin.flow.router.Route;
|
import com.vaadin.flow.router.Route;
|
||||||
import com.vaadin.flow.router.RouteAlias;
|
import com.vaadin.flow.router.RouteAlias;
|
||||||
|
import edu.kit.typicalc.view.content.typeinferencecontent.MathjaxProofTree;
|
||||||
import edu.kit.typicalc.view.main.MainViewImpl;
|
import edu.kit.typicalc.view.main.MainViewImpl;
|
||||||
import edu.kit.typicalc.view.main.MathjaxDisplay;
|
import edu.kit.typicalc.view.main.MathjaxDisplay;
|
||||||
|
|
||||||
@ -21,6 +22,7 @@ public class StartPageView extends VerticalLayout {
|
|||||||
// todo implement correctly
|
// todo implement correctly
|
||||||
setId("start-page");
|
setId("start-page");
|
||||||
add(new MathjaxDisplay());
|
add(new MathjaxDisplay());
|
||||||
|
add(new MathjaxProofTree());
|
||||||
sayHello = new Button("Say hello");
|
sayHello = new Button("Say hello");
|
||||||
add(sayHello);
|
add(sayHello);
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,22 @@
|
|||||||
|
package edu.kit.typicalc.view.content.typeinferencecontent;
|
||||||
|
|
||||||
|
import com.vaadin.flow.component.Tag;
|
||||||
|
import com.vaadin.flow.component.dependency.JsModule;
|
||||||
|
import com.vaadin.flow.component.html.Div;
|
||||||
|
import com.vaadin.flow.component.littemplate.LitTemplate;
|
||||||
|
import com.vaadin.flow.component.template.Id;
|
||||||
|
|
||||||
|
@Tag("tc-proof-tree")
|
||||||
|
@JsModule("./src/mathjax-proof-tree.ts")
|
||||||
|
public class MathjaxProofTree extends LitTemplate {
|
||||||
|
|
||||||
|
@Id("tc-content")
|
||||||
|
private Div content;
|
||||||
|
/**
|
||||||
|
* todo Creates the hello world template.
|
||||||
|
*/
|
||||||
|
public MathjaxProofTree() {
|
||||||
|
content.add(getTranslation("demo-tree"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -13,7 +13,7 @@ public class MathjaxDisplay extends LitTemplate {
|
|||||||
@Id("tc-content")
|
@Id("tc-content")
|
||||||
private Div content;
|
private Div content;
|
||||||
/**
|
/**
|
||||||
* Creates the hello world template.
|
* todo Creates the hello world template.
|
||||||
*/
|
*/
|
||||||
public MathjaxDisplay() {
|
public MathjaxDisplay() {
|
||||||
content.add(getTranslation("abs-rule"));
|
content.add(getTranslation("abs-rule"));
|
||||||
|
@ -1,8 +1,11 @@
|
|||||||
root.close=Schließen
|
root.close=Schließen
|
||||||
root.copyLatex=Kopiere Latex-Code
|
root.copyLatex=Kopiere Latex-Code
|
||||||
root.typicalc=Typicalc
|
root.typicalc=Typicalc
|
||||||
|
root.lambda=\u03BB
|
||||||
|
root.typeInfer=Typisieren
|
||||||
|
|
||||||
abs-rule=\\begin{prooftree}\
|
abs-rule=\
|
||||||
|
\\begin{prooftree}\
|
||||||
\\AxiomC{$\\Gamma=\\vdash t_1 : \\tau_1 \\rightarrow \\tau_2$}\
|
\\AxiomC{$\\Gamma=\\vdash t_1 : \\tau_1 \\rightarrow \\tau_2$}\
|
||||||
\
|
\
|
||||||
\\AxiomC{$\\Gamma \\vdash t_2 : \\tau_1$}\
|
\\AxiomC{$\\Gamma \\vdash t_2 : \\tau_1$}\
|
||||||
@ -11,7 +14,34 @@ abs-rule=\\begin{prooftree}\
|
|||||||
\\BinaryInfC{$\\Gamma \\vdash t_1 \\ t_2 : \\tau_2$}\
|
\\BinaryInfC{$\\Gamma \\vdash t_1 \\ t_2 : \\tau_2$}\
|
||||||
\\end{prooftree}
|
\\end{prooftree}
|
||||||
|
|
||||||
root.lambda=\u03BB
|
demo-tree=\
|
||||||
root.typeInfer=Typisieren
|
\\begin{prooftree}\n\
|
||||||
|
\\AxiomC{$\\lapp{\\left( \\assmapping{\\lv{f}}{\\alpha_2}, \\assmapping{\\lv{x}}{\\alpha_4} \\right)}{\\left( \\lv{f} \\right) = \\alpha_6}$}\n\
|
||||||
|
\\LeftLabel{\\textsc{Var}}\n\
|
||||||
|
\\UnaryInfC{$\\ltype{\\assmapping{\\lv{f}}{\\alpha_2}, \\assmapping{\\lv{x}}{\\alpha_2}}{\\lv{f}}{\\alpha_6}$}\n\
|
||||||
|
\n\
|
||||||
|
\\AxiomC{$\\lapp{\\left( \\assmapping{\\lv{f}}{\\alpha_2}, \\assmapping{\\lv{x}}{\\alpha_4} \\right)}{\\left( \\lv{f} \\right) = \\alpha_8}$}\n\
|
||||||
|
\n\
|
||||||
|
\\LeftLabel{\\textsc{Var}}\n\
|
||||||
|
\\UnaryInfC{$\\ltype{\\assmapping{\\lv{f}}{\\alpha_2}, \\assmapping{\\lv{x}}{\\alpha_2}}{\\lv{f}}{\\alpha_8}$}\n\
|
||||||
|
\n\
|
||||||
|
\n\
|
||||||
|
\\AxiomC{$\\lapp{\\left( \\assmapping{\\lv{f}}{\\alpha_2}, \\assmapping{\\lv{x}}{\\alpha_4} \\right)}{\\left( \\lv{x} \\right) = \\alpha_9}$}\n\
|
||||||
|
\n\
|
||||||
|
\\LeftLabel{\\textsc{Var}}\n\
|
||||||
|
\\UnaryInfC{$\\ltype{\\assmapping{\\lv{f}}{\\alpha_2}, \\assmapping{\\lv{x}}{\\alpha_2}}{\\lv{x}}{\\alpha_9}$}\n\
|
||||||
|
\n\
|
||||||
|
\\LeftLabel{\\textsc{App}}\n\
|
||||||
|
\\BinaryInfC{$\\ltype{\\assmapping{\\lv{f}}{\\alpha_2}, \\assmapping{\\lv{x}}{\\alpha_2}}{\\lapp{\\lv{f}}{\\lv{x}}}{\\alpha_7}$}\n\
|
||||||
|
\n\
|
||||||
|
\\LeftLabel{\\textsc{App}}\n\
|
||||||
|
\\BinaryInfC{$\\ltype{\\assmapping{\\lv{f}}{\\alpha_2}, \\assmapping{\\lv{x}}{\\alpha_2}}{\\lapp{\\lv{f}}{\\left( \\lapp{\\lv{f}}{\\lv{x}} \\right)}}{\\alpha_5}$}\n\
|
||||||
|
\n\
|
||||||
|
\\LeftLabel{\\textsc{Abs}}\n\
|
||||||
|
\\UnaryInfC{$\\ltype{\\assmapping{\\lv{f}}{\\alpha_2}}{\\la{x}{\\lapp{\\lv{f}}{\\left( \\lapp{\\lv{f}}{\\lv{x}} \\right) }}}{\\alpha_3}$}\n\
|
||||||
|
\n\
|
||||||
|
\\LeftLabel{\\textsc{Abs}}\n\
|
||||||
|
\\UnaryInfC{$\\ltype{}{\\la{f}{\\la{x}{\\lapp{\\lv{f}}{\\left( \\lapp{\\lv{f}}{\\lv{x}} \\right) }}}}{\\alpha_1}$}\n\
|
||||||
|
\\end{prooftree}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
root.close=Close
|
root.close=Close
|
||||||
root.copyLatex=Copy latex code
|
root.copyLatex=Copy latex code
|
||||||
root.typicalc=Typicalc
|
root.typicalc=Typicalc
|
||||||
|
root.lambda=\u03BB
|
||||||
|
root.typeInfer=Typisieren
|
||||||
|
|
||||||
abs-rule=\
|
abs-rule=\
|
||||||
\\begin{prooftree}\n\
|
\\begin{prooftree}\n\
|
||||||
@ -11,5 +13,32 @@ abs-rule=\
|
|||||||
\\BinaryInfC{$\\Gamma \\vdash t_1 \\ t_2 : \\tau_2$}\n\
|
\\BinaryInfC{$\\Gamma \\vdash t_1 \\ t_2 : \\tau_2$}\n\
|
||||||
\\end{prooftree}
|
\\end{prooftree}
|
||||||
|
|
||||||
root.lambda=\u03BB
|
demo-tree=\
|
||||||
root.typeInfer=Typisieren
|
\\begin{prooftree}\n\
|
||||||
|
\\AxiomC{$\\lapp{\\left( \\assmapping{\\lv{f}}{\\alpha_2}, \\assmapping{\\lv{x}}{\\alpha_4} \\right)}{\\left( \\lv{f} \\right) = \\alpha_6}$}\n\
|
||||||
|
\\LeftLabel{\\textsc{Var}}\n\
|
||||||
|
\\UnaryInfC{$\\ltype{\\assmapping{\\lv{f}}{\\alpha_2}, \\assmapping{\\lv{x}}{\\alpha_2}}{\\lv{f}}{\\alpha_6}$}\n\
|
||||||
|
\n\
|
||||||
|
\\AxiomC{$\\lapp{\\left( \\assmapping{\\lv{f}}{\\alpha_2}, \\assmapping{\\lv{x}}{\\alpha_4} \\right)}{\\left( \\lv{f} \\right) = \\alpha_8}$}\n\
|
||||||
|
\n\
|
||||||
|
\\LeftLabel{\\textsc{Var}}\n\
|
||||||
|
\\UnaryInfC{$\\ltype{\\assmapping{\\lv{f}}{\\alpha_2}, \\assmapping{\\lv{x}}{\\alpha_2}}{\\lv{f}}{\\alpha_8}$}\n\
|
||||||
|
\n\
|
||||||
|
\n\
|
||||||
|
\\AxiomC{$\\lapp{\\left( \\assmapping{\\lv{f}}{\\alpha_2}, \\assmapping{\\lv{x}}{\\alpha_4} \\right)}{\\left( \\lv{x} \\right) = \\alpha_9}$}\n\
|
||||||
|
\n\
|
||||||
|
\\LeftLabel{\\textsc{Var}}\n\
|
||||||
|
\\UnaryInfC{$\\ltype{\\assmapping{\\lv{f}}{\\alpha_2}, \\assmapping{\\lv{x}}{\\alpha_2}}{\\lv{x}}{\\alpha_9}$}\n\
|
||||||
|
\n\
|
||||||
|
\\LeftLabel{\\textsc{App}}\n\
|
||||||
|
\\BinaryInfC{$\\ltype{\\assmapping{\\lv{f}}{\\alpha_2}, \\assmapping{\\lv{x}}{\\alpha_2}}{\\lapp{\\lv{f}}{\\lv{x}}}{\\alpha_7}$}\n\
|
||||||
|
\n\
|
||||||
|
\\LeftLabel{\\textsc{App}}\n\
|
||||||
|
\\BinaryInfC{$\\ltype{\\assmapping{\\lv{f}}{\\alpha_2}, \\assmapping{\\lv{x}}{\\alpha_2}}{\\lapp{\\lv{f}}{\\left( \\lapp{\\lv{f}}{\\lv{x}} \\right)}}{\\alpha_5}$}\n\
|
||||||
|
\n\
|
||||||
|
\\LeftLabel{\\textsc{Abs}}\n\
|
||||||
|
\\UnaryInfC{$\\ltype{\\assmapping{\\lv{f}}{\\alpha_2}}{\\la{x}{\\lapp{\\lv{f}}{\\left( \\lapp{\\lv{f}}{\\lv{x}} \\right) }}}{\\alpha_3}$}\n\
|
||||||
|
\n\
|
||||||
|
\\LeftLabel{\\textsc{Abs}}\n\
|
||||||
|
\\UnaryInfC{$\\ltype{}{\\la{f}{\\la{x}{\\lapp{\\lv{f}}{\\left( \\lapp{\\lv{f}}{\\lv{x}} \\right) }}}}{\\alpha_1}$}\n\
|
||||||
|
\\end{prooftree}
|
Loading…
Reference in New Issue
Block a user