···66 type subst = Map.t<schematic,t>
77 let substitute : (t, subst) => t
88 let unify : (t, t) => array<subst>
99+ // law: unify(a,b) == [{}] iff equivalent(a,b)
1010+ let equivalent : (t, t) => bool
911 let substDeBruijn : (t, array<t>, ~from:int=?) => t
1012 let upshift : (t, int, ~from:int=?) => t
1113 type gen
···2325 module Term : TERM
2426 type t
2527 let substitute : (t, Term.subst) => t
2828+ let equivalent : (t,t) => bool
2629 let unify : (t, t) => array<Term.subst>
2730 let substDeBruijn : (t, array<Term.t>, ~from:int=?) => t
2831 let upshift : (t, int, ~from:int=?) => t
+34-3
src/testcomponent.tsx
···11import * as ComponentGraph2 from './componentgraph'
22-import { make as SExpBaseView, RuleSExpTE } from './Scratch.mjs'
22+import { make as SExpBaseView, RuleSExpTE, PM } from './Scratch.mjs'
33import ReactDOM from 'react-dom/client';
44import React from 'react';
55···5656 };
5757 }
5858}
5959-//window.localStorage.clear()
6060-ComponentGraph.setup({"hol-comp": TestComponent,"hol-config": ConfigComponent});
5959+6060+6161+export class ProofComponent implements Component {
6262+ data : any;
6363+ dependencies : Record<string,any>;
6464+ dependencyChanged : (id: string, comp: Component) => void;
6565+ root : ReactDOM.Root;
6666+ toString() {
6767+ return ""
6868+ }
6969+ constructor(str : string, deps : Record<string,Component>, signal : (msg: any) => void, view? : HTMLElement) {
7070+ console.log("FOO")
7171+ for (const x in deps) {
7272+ if (deps[x] instanceof TestComponent) {
7373+ this.dependencies = deps[x].data
7474+ }
7575+ }
7676+ var gen = {contents:0};
7777+ this.data = PM.parse(str, [], gen);
7878+ console.log(this.data)
7979+ if (view != null) {
8080+ //this.root = ReactDOM.createRoot(view);
8181+ //this.root.render(<SExpBaseView rules={this.data} style={this.config}
8282+ // onChange={ e => { this.data = e.rules; signal("changed") }} />)
8383+ }
8484+ this.dependencyChanged = (_depName, comp) => {
8585+ };
8686+ }
8787+}
8888+8989+9090+window.localStorage.clear()
9191+ComponentGraph.setup({"hol-comp": TestComponent,"hol-config": ConfigComponent, "hol-proof":ProofComponent});