Hello! I'm Jack, and I've recently picked up Metamath Zero. I've been testing my ability to use it by converting theorems from the original Metamath website to Metamath One. I've recently hit some trouble with doing that because of the differing ideas between "bound" variables and "distinct" variables. I feel like I understand the concepts separately but I don't necessarily know how to translate between them. This has been slowly becoming more of a problem and has caused me to question what I'm doing now at ax-7 proving itself.
Here's a link to the repo, but I'll post examples below:
https://github.com/abnormalhare/mm-to-mm1By trying to specify distinctness, I ended up writing ax7v as such:
`theorem ax7v{x: setvar} (y: setvar) (z: setvar x): $ x =s y -> x =s z -> y =s z $ = 'ax_7;`
It feels weird to write it like this. And it also leads to ax7 being written as:
`theorem ax7{x y z .t: setvar}: $ x =s y -> x =s z -> y =s z $`
This looks wrong because ax-7 did not need any bound variables, but now ax7 needs all of them to be bound?
I did try to read documentation of MM0, including the thesis put here
and the markdown MM0 and MM1 files, but it was a little confusing.
There's even a part where it references a deleted "Variable Inference"
section that I found using git log, but that didn't help. I tried to find other repos that have also converted some theorems of Metamath, but I didn't find any that did ax7.
Is this the answer or am I missing something?