on master help sign in
add example and diagram for solve
commitc2690a975e2560f6a11be0686cea5115d342a410 authormartinbaker <git29f185@martinb.com> dateFri 5 Jul 2019, 16:56 (7 years ago) parentd73e3c5
5 files changed+235−17
docs/image/fill.png docs/image/fill.svg+49−13 docs/image/solve.png docs/image/solve.svg+163 docs/proofs/primitive.rst+23−4
docs/image/fill.png

Binary file not shown.

docs/image/fill.svg+49−13
@@ -18,6 +18,20 @@
1818 sodipodi:docname="fill.svg">
1919 <defs
2020 id="defs2">
21+ <marker
22+ inkscape:isstock="true"
23+ style="overflow:visible;"
24+ id="marker838"
25+ refX="0.0"
26+ refY="0.0"
27+ orient="auto"
28+ inkscape:stockid="Arrow1Mend">
29+ <path
30+ transform="scale(0.4) rotate(180) translate(10,0)"
31+ style="fill-rule:evenodd;stroke:#0000ff;stroke-width:1pt;stroke-opacity:1;fill:#0000ff;fill-opacity:1"
32+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
33+ id="path836" />
34+ </marker>
2135 <marker
2236 inkscape:stockid="Arrow1Mend"
2337 orient="auto"
@@ -25,7 +39,8 @@
2539 refX="0.0"
2640 id="Arrow1Mend"
2741 style="overflow:visible;"
28− inkscape:isstock="true">
42+ inkscape:isstock="true"
43+ inkscape:collect="always">
2944 <path
3045 id="path4529"
3146 d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
@@ -59,7 +74,7 @@
5974 <dc:format>image/svg+xml</dc:format>
6075 <dc:type
6176 rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
62− <dc:title></dc:title>
77+ <dc:title />
6378 </cc:Work>
6479 </rdf:RDF>
6580 </metadata>
@@ -72,36 +87,36 @@
7287 id="rect22"
7388 width="31.75"
7489 height="5.5562501"
75− x="80.697914"
90+ x="70.114571"
7691 y="114.96667"
7792 inkscape:export-xdpi="61.120499"
7893 inkscape:export-ydpi="61.120499" />
7994 <text
8095 xml:space="preserve"
8196 style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
82− x="41.539581"
83− y="104.64792"
97+ x="65.352081"
98+ y="105.17709"
8499 id="text12"
85100 inkscape:export-xdpi="61.120499"
86101 inkscape:export-ydpi="61.120499"><tspan
87102 sodipodi:role="line"
88103 id="tspan10"
89− x="41.539581"
90− y="104.64792"
91− style="stroke-width:0.26458332;font-size:4.23333333px;-inkscape-font-specification:'sans-serif Bold';font-family:sans-serif;font-weight:bold;font-style:normal;font-stretch:normal;font-variant:normal">?{hole_0} ≈ ? {hole_2} . {hole_2} . {hole_0}</tspan></text>
104+ x="65.352081"
105+ y="105.17709"
106+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.23333311px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';stroke-width:0.26458332">? {hole} . {hole}</tspan></text>
92107 <text
93108 id="text16"
94− y="119.2"
95− x="41.539581"
109+ y="118.67083"
110+ x="56.356247"
96111 style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
97112 xml:space="preserve"
98113 inkscape:export-xdpi="61.120499"
99114 inkscape:export-ydpi="61.120499"><tspan
100115 style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.23333311px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';stroke-width:0.26458332"
101− y="119.2"
102− x="41.539581"
116+ y="118.67083"
117+ x="56.356247"
103118 id="tspan14"
104− sodipodi:role="line">?{hole_0} ≈ ?{hole_2} ≈ Prelude.Nat.Z . {hole_2} . {hole_0}</tspan></text>
119+ sodipodi:role="line">?{hole} ≈ Prelude.Nat.Z . {hole}</tspan></text>
105120 <text
106121 id="text20"
107122 y="110.99791"
@@ -123,5 +138,26 @@
123138 sodipodi:nodetypes="cc"
124139 inkscape:export-xdpi="61.120499"
125140 inkscape:export-ydpi="61.120499" />
141+ <text
142+ inkscape:export-ydpi="61.120499"
143+ inkscape:export-xdpi="61.120499"
144+ xml:space="preserve"
145+ style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#0000ff;fill-opacity:1;stroke:none;stroke-width:0.26458332"
146+ x="63.499996"
147+ y="93.006248"
148+ id="text832"><tspan
149+ sodipodi:role="line"
150+ id="tspan830"
151+ x="63.499996"
152+ y="93.006248"
153+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.23333311px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';fill:#0000ff;stroke-width:0.26458332">focus</tspan></text>
154+ <path
155+ inkscape:export-ydpi="61.120499"
156+ inkscape:export-xdpi="61.120499"
157+ sodipodi:nodetypes="cc"
158+ inkscape:connector-curvature="0"
159+ id="path834"
160+ d="m 66.645564,94.659084 -0.0032,5.458256"
161+ style="fill:none;stroke:#0000ff;stroke-width:0.5291667;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker838)" />
126162 </g>
127163</svg>
docs/image/solve.pngnew file

Binary file not shown.

docs/image/solve.svgnew file+163
@@ -0,0 +1,163 @@
1+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2+<!-- Created with Inkscape (http://www.inkscape.org/) -->
3+
4+<svg
5+ xmlns:dc="http://purl.org/dc/elements/1.1/"
6+ xmlns:cc="http://creativecommons.org/ns#"
7+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
8+ xmlns:svg="http://www.w3.org/2000/svg"
9+ xmlns="http://www.w3.org/2000/svg"
10+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
11+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
12+ width="210mm"
13+ height="297mm"
14+ viewBox="0 0 210 297"
15+ version="1.1"
16+ id="svg8"
17+ inkscape:version="0.92.2 5c3e80d, 2017-08-06"
18+ sodipodi:docname="solve.svg">
19+ <defs
20+ id="defs2">
21+ <marker
22+ inkscape:isstock="true"
23+ style="overflow:visible;"
24+ id="marker838"
25+ refX="0.0"
26+ refY="0.0"
27+ orient="auto"
28+ inkscape:stockid="Arrow1Mend">
29+ <path
30+ transform="scale(0.4) rotate(180) translate(10,0)"
31+ style="fill-rule:evenodd;stroke:#0000ff;stroke-width:1pt;stroke-opacity:1;fill:#0000ff;fill-opacity:1"
32+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
33+ id="path836" />
34+ </marker>
35+ <marker
36+ inkscape:stockid="Arrow1Mend"
37+ orient="auto"
38+ refY="0.0"
39+ refX="0.0"
40+ id="Arrow1Mend"
41+ style="overflow:visible;"
42+ inkscape:isstock="true"
43+ inkscape:collect="always">
44+ <path
45+ id="path4529"
46+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
47+ style="fill-rule:evenodd;stroke:#ff0000;stroke-width:1pt;stroke-opacity:1;fill:#ff0000;fill-opacity:1"
48+ transform="scale(0.4) rotate(180) translate(10,0)" />
49+ </marker>
50+ </defs>
51+ <sodipodi:namedview
52+ id="base"
53+ pagecolor="#ffffff"
54+ bordercolor="#666666"
55+ borderopacity="1.0"
56+ inkscape:pageopacity="0.0"
57+ inkscape:pageshadow="2"
58+ inkscape:zoom="1"
59+ inkscape:cx="313.5"
60+ inkscape:cy="696.5"
61+ inkscape:document-units="mm"
62+ inkscape:current-layer="layer1"
63+ showgrid="false"
64+ inkscape:window-width="1920"
65+ inkscape:window-height="1015"
66+ inkscape:window-x="0"
67+ inkscape:window-y="0"
68+ inkscape:window-maximized="1" />
69+ <metadata
70+ id="metadata5">
71+ <rdf:RDF>
72+ <cc:Work
73+ rdf:about="">
74+ <dc:format>image/svg+xml</dc:format>
75+ <dc:type
76+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
77+ <dc:title />
78+ </cc:Work>
79+ </rdf:RDF>
80+ </metadata>
81+ <g
82+ inkscape:label="Layer 1"
83+ inkscape:groupmode="layer"
84+ id="layer1">
85+ <rect
86+ style="fill:#ffff00;fill-opacity:1;stroke-width:0.26458332"
87+ id="rect22"
88+ width="31.75"
89+ height="5.5562501"
90+ x="70.114571"
91+ y="114.96667"
92+ inkscape:export-xdpi="61.120499"
93+ inkscape:export-ydpi="61.120499" />
94+ <text
95+ id="text16"
96+ y="118.67083"
97+ x="72.231262"
98+ style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
99+ xml:space="preserve"
100+ inkscape:export-xdpi="61.120499"
101+ inkscape:export-ydpi="61.120499"><tspan
102+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.23333311px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';stroke-width:0.26458332"
103+ y="118.67083"
104+ x="72.231262"
105+ id="tspan14"
106+ sodipodi:role="line">Prelude.Nat.Z </tspan></text>
107+ <text
108+ id="text20"
109+ y="110.99791"
110+ x="82.814583"
111+ style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
112+ xml:space="preserve"
113+ inkscape:export-xdpi="61.120499"
114+ inkscape:export-ydpi="61.120499"><tspan
115+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.23333311px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';fill:#ff0000;stroke-width:0.26458332"
116+ y="110.99791"
117+ x="82.814583"
118+ id="tspan18"
119+ sodipodi:role="line">solve</tspan></text>
120+ <path
121+ style="fill:none;stroke:#ff0000;stroke-width:0.5291667;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
122+ d="m 80.668481,106.30075 -0.0032,7.57492"
123+ id="path4518"
124+ inkscape:connector-curvature="0"
125+ sodipodi:nodetypes="cc"
126+ inkscape:export-xdpi="61.120499"
127+ inkscape:export-ydpi="61.120499" />
128+ <text
129+ inkscape:export-ydpi="61.120499"
130+ inkscape:export-xdpi="61.120499"
131+ xml:space="preserve"
132+ style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#0000ff;fill-opacity:1;stroke:none;stroke-width:0.26458332"
133+ x="56.620823"
134+ y="93.006248"
135+ id="text832"><tspan
136+ sodipodi:role="line"
137+ id="tspan830"
138+ x="56.620823"
139+ y="93.006248"
140+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.23333311px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';fill:#0000ff;stroke-width:0.26458332">focus</tspan></text>
141+ <path
142+ inkscape:export-ydpi="61.120499"
143+ inkscape:export-xdpi="61.120499"
144+ sodipodi:nodetypes="cc"
145+ inkscape:connector-curvature="0"
146+ id="path834"
147+ d="m 57.649725,94.659084 -0.0032,5.458256"
148+ style="fill:none;stroke:#0000ff;stroke-width:0.5291667;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker838)" />
149+ <text
150+ inkscape:export-ydpi="61.120499"
151+ inkscape:export-xdpi="61.120499"
152+ xml:space="preserve"
153+ style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
154+ x="56.356247"
155+ y="104.91254"
156+ id="text842"><tspan
157+ sodipodi:role="line"
158+ id="tspan840"
159+ x="56.356247"
160+ y="104.91254"
161+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.23333311px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';stroke-width:0.26458332">?{hole} ≈ Prelude.Nat.Z . {hole}</tspan></text>
162+ </g>
163+</svg>
docs/proofs/primitive.rst+23−4
@@ -21,19 +21,38 @@ Primitive Operators
2121 * - solve
2222 - Substitute a guess into a hole.
2323
24+
25+ .. image:: ../image/solve.png
26+ :width: 141px
27+ :height: 74px
28+ :alt: diagram illustrating solve tactic
29+
30+
2431 Substitute the focused guess throughout its scope, eliminating it and moving focus to the next element of the hole queue. Fail if the focus is not a guess.
2532
2633 Signature:
2734
2835 solve : Elab ()
2936
37+ Example:
38+
39+ .. code-block:: idris
40+
41+ %language ElabReflection
42+
43+ testFn : Nat
44+ testFn = %runElab (do fill `(Z)
45+ solve)
46+
3047 * - fill
3148 - Place a term into a hole, unifying its type. Fails if the focus is not a hole.
3249
33− - .. image:: ../image/fill.png
34− :width: 259px
35− :height: 46px
36− :alt: diagram illustrating fill tactic
50+
51+ .. image:: ../image/fill.png
52+ :width: 140px
53+ :height: 74px
54+ :alt: diagram illustrating fill tactic
55+
3756
3857 Signature:
3958