-
1
-
2
-
3
-
4
-
5
-
6
-
7
-
8
-
9
-
10
-
11
-
12
-
13
-
14
-
15
-
16
-
17
-
18
-
19
-
20
-
21
-
22
-
23
-
24
-
25
-
26
-
27
-
28
-
29
-
30
-
31
-
32
-
33
-
34
-
35
-
36
-
37
-
38
-
39
-
40
-
41
-
42
-
43
-
44
-
45
-
46
-
47
-
48
import Mathlib.Tactic.Widget.CommDiag
import ProofWidgets.Component.Panel.GoalTypePanel
import ProofWidgets.Component.Panel.SelectionPanel
import ProofWidgets.Component.HtmlDisplay
open scoped ProofWidgets.Jsx
-- KaTeX supports CD but Mathjax doesn't sad
open ProofWidgets in
#html <MarkdownDisplay contents={"
## Hello, Markdown
We have **bold text**, _italic text_, `example : True := by trivial`,
and $3×19 = \\int\\limits_0^{57}1~dx$.
$$\\begin{CD}
S @>j>> T\\
@VVV @VV
I @= p
\\end{CD}$$
"} />
universe u
namespace CategoryTheory
open ProofWidgets
/-- Local instance to make examples work. -/
local instance : Category (Type u) where
Hom α β := α → β
id _ := id
comp f g := g ∘ f
id_comp _ := rfl
comp_id _ := rfl
assoc _ _ _ := rfl
example {f g : Nat ⟶ Bool} : f = g → (f ≫ 𝟙 Bool) = (g ≫ 𝟙 Bool) := by
with_panel_widgets [GoalTypePanel]
intro h
exact h
example {X Y Z : Type} {f i : X ⟶ Y}
{g j : Y ⟶ Z} {h : X ⟶ Z} :
h = f ≫ g →
i ≫ j = h →
f ≫ g = i ≫ j := by
with_panel_widgets [SelectionPanel]
intro h₁ h₂
rw [← h₁, h₂]