or
or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up
Syntax | Example | Reference | |
---|---|---|---|
# Header | Header | 基本排版 | |
- Unordered List |
|
||
1. Ordered List |
|
||
- [ ] Todo List |
|
||
> Blockquote | Blockquote |
||
**Bold font** | Bold font | ||
*Italics font* | Italics font | ||
~~Strikethrough~~ | |||
19^th^ | 19th | ||
H~2~O | H2O | ||
++Inserted text++ | Inserted text | ||
==Marked text== | Marked text | ||
[link text](https:// "title") | Link | ||
 | Image | ||
`Code` | Code |
在筆記中貼入程式碼 | |
```javascript var i = 0; ``` |
|
||
:smile: | ![]() |
Emoji list | |
{%youtube youtube_id %} | Externals | ||
$L^aT_eX$ | LaTeX | ||
:::info This is a alert area. ::: |
This is a alert area. |
On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?
Please give us some advice and help us improve HackMD.
Syncing
xxxxxxxxxx
inspect changes
we currently leak uncanonicalized data from the current
InferCtxt
in the proof trees.my proposal how to not leak
IDEA: canonicalize everything which currently contains infer vars.
EXAMPLE: instead of
GoalEvaluationStep::instantiated_goal
beingQueryInput<'tcx, Predicate<'tcx>>
[1] it will beCanonical<'tcx, QueryInput<'tcx, Predicate<'tcx>>>
ISSUE: it's completely unclear where the bound vars come from.
IDEA: similar to the canonical query response returned by the solver, also put the "source" of the bound vars into the
Canonical
so we'd use
Canonical<'tcx, ProofTreeData<'tcx, QueryInput<'tcx, Predicate<'tcx>>>
The
var_values
are the same as inCanonicalResponse
.Now the input isn't the only place which can introduce inference vars. Other sources are: instantiatiating binders in the query, instantiating impl params, the normalizes-to hack.
We could change the
ProofTreeData
to the followingSUS
nested goals and inference progress
goals exist multiple times which is sus, they ignore inference progress.
idea: instantiate all goals, and dedup them fully resolving all of them. then fetch the nested proof tree for these goals by recomputing it.
issue: equating var_values can result in nested goals which may not hold
- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →alternative
track
add_goal
.instantiate the added goals and run it in a fulfillment context.
TODO
orig_values
as either canonicalized or notAddGoal
to storeState<T>
orig_values
for root and nested goalsanalyse
visitor and impl it- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →ignoring that by canonicalizing this it's just the canonial goal again :3 ↩︎