Logic and Modus Ponens
- Logic in HoTT is essentially generation from just types.
- For instance, we can take a starting point
A, B : Type
.
- We have essentially only three results (in the absence of negation):
- Identity: A→A
- Constant function: A→B→A
- Modus ponens: A→(A→B) toB.
- Our task is to discover these results and identify them as the only significant ones.
- More accurately, the only significant ones should be the abstractions of these, with A and B variables.
Discovery: Works
- All these are not consequences of other results, so must be discovered at the first level.
- Indeed, they all are if the decay is high enough, cutoff=10−6 and decay=10 works fine, as does a range.
- We should experiment starting with just
Type
.
Refinement: Work to be done
- The results of exploration also give dependence between theorems.
- This is true even if a theorem is discovered directly, dependence is seen by having a higher weight in a later stage.
- This can even be joint dependence, i.e., a boost for two perturbations together.
- For this to work, we need to
- consider as tangents (partial and total) λ-closures of terms.
- ensure all distributions are normalized so numbers are comparable.
- We thus get some backward propagation, but limited to new propositions, not just, say, a useful function.