You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I've been developing a proof, one of its steps would not unify and I finally realized that I had a syntax error in definition. Original .mm file:
$( We build upon all known math theory. $)
$[ metamath/set.mm $]
$( A sequence of type ~ S has type ` Word S `. $)
$( Extend class notation to include the set of increasing sequences. $)
$c UpWord $.
cupword $a class UpWord S $.
${
df-upword $a |- UpWord S = { w | ( w e. Word S /\ A. k e. ( 0 ..^ ( # ` w - 1 ) ) ( w ` k < w ` ( k + 1 ) ) ) } $.
upwordnul $p |- (/) e. UpWord S $= $.
$}
(the syntax error itself: # \ w` should've been surrounded by parentheses)
After developing most of the proof, I noticed the problem and tried to locally rewrite the definition. The bug appeared.
MM-PA> sh new /lemmon
17 wrd0 $p |- (/) e. Word S
21 elsb1 $p |- ( [ (/) / $35 ] $35 e. Word S <-> (/) e. Word S )
22 17,21 mpbir $p |- [ (/) / $35 ] $35 e. Word S
50 ? $? |- ( $35 = (/) -> ( # ` $35 - 1 ) <_ 0 )
64 nn0ssz $p |- NN0 C_ ZZ
68 ? $? |- ( $35 = (/) -> $35 e. Word S )
69 ? $? |- ( $35 e. Word S -> # ` $35 e. NN0 )
70 68,69 syl $p |- ( $35 = (/) -> # ` $35 e. NN0 )
71 64,70 sselid $p |- ( $35 = (/) -> # ` $35 e. ZZ )
73 1zzd $p |- ( $35 = (/) -> 1 e. ZZ )
74 71,73 zsubcld $p |- ( $35 = (/) -> ( # ` $35 - 1 ) e. ZZ )
75 0z $p |- 0 e. ZZ
76 74,75 jctil $p |- ( $35 = (/) -> ( 0 e. ZZ /\ ( # ` $35 - 1 ) e. ZZ ) )
79 fzon $p |- ( ( 0 e. ZZ /\ ( # ` $35 - 1 ) e. ZZ ) -> ( ( # ` $35 - 1 ) <_ 0 <-> ( 0 ..^ ( # ` $35 - 1 ) ) = (/) ) )
80 76,79 syl $p |- ( $35 = (/) -> ( ( # ` $35 - 1 ) <_ 0 <-> ( 0 ..^ ( # ` $35 - 1 ) ) = (/) ) )
81 50,80 mpbid $p |- ( $35 = (/) -> ( 0 ..^ ( # ` $35 - 1 ) ) = (/) )
90 neq0 $p |- ( -. ( 0 ..^ ( # ` $35 - 1 ) ) = (/) <-> E. $110 $110 e. ( 0 ..^ ( # ` $35 - 1 ) ) )
91 90 bicomi $p |- ( E. $110 $110 e. ( 0 ..^ ( # ` $35 - 1 ) ) <-> -. ( 0 ..^ ( # ` $35 - 1 ) ) = (/) )
92 91 con2bii $p |- ( ( 0 ..^ ( # ` $35 - 1 ) ) = (/) <-> -. E. $110 $110 e. ( 0 ..^ ( # ` $35 - 1 ) ) )
93 92 biimpi $p |- ( ( 0 ..^ ( # ` $35 - 1 ) ) = (/) -> -. E. $110 $110 e. ( 0 ..^ ( # ` $35 - 1 ) ) )
94 81,93 syl $p |- ( $35 = (/) -> -. E. $110 $110 e. ( 0 ..^ ( # ` $35 - 1 ) ) )
97 imnan $p |- ( ( $35 = (/) -> -. E. $110 $110 e. ( 0 ..^ ( # ` $35 - 1 ) ) ) <-> -. ( $35 = (/) /\ E. $110 $110 e. ( 0 ..^ ( # `
$35 - 1 ) ) ) )
98 94,97 mpbi $p |- -. ( $35 = (/) /\ E. $110 $110 e. ( 0 ..^ ( # ` $35 - 1 ) ) )
99 98 bifal $p |- ( ( $35 = (/) /\ E. $110 $110 e. ( 0 ..^ ( # ` $35 - 1 ) ) ) <-> F. )
100 99 biimpi $p |- ( ( $35 = (/) /\ E. $110 $110 e. ( 0 ..^ ( # ` $35 - 1 ) ) ) -> F. )
102 falim $p |- ( F. -> A. $110 ( $35 ` $110 < $35 ` ( $110 + 1 ) ) )
103 100,102 syl $p |- ( ( $35 = (/) /\ E. $110 $110 e. ( 0 ..^ ( # ` $35 - 1 ) ) ) -> A. $110 ( $35 ` $110 < $35 ` ( $110 + 1 ) ) )
104 103 ex $p |- ( $35 = (/) -> ( E. $110 $110 e. ( 0 ..^ ( # ` $35 - 1 ) ) -> A. $110 ( $35 ` $110 < $35 ` ( $110 + 1 ) ) ) )
108 19.38 $p |- ( ( E. $110 $110 e. ( 0 ..^ ( # ` $35 - 1 ) ) -> A. $110 ( $35 ` $110 < $35 ` ( $110 + 1 ) ) ) -> A. $110 ( $110 e. (
0 ..^ ( # ` $35 - 1 ) ) -> ( $35 ` $110 < $35 ` ( $110 + 1 ) ) ) )
109 104,108 syl $p |- ( $35 = (/) -> A. $110 ( $110 e. ( 0 ..^ ( # ` $35 - 1 ) ) -> ( $35 ` $110 < $35 ` ( $110 + 1 ) ) ) )
113 df-ral $a |- ( A. $110 e. ( 0 ..^ ( # ` $35 - 1 ) ) ( $35 ` $110 < $35 ` ( $110 + 1 ) ) <-> A. $110 ( $110 e. ( 0 ..^ ( # ` $35 -
1 ) ) -> ( $35 ` $110 < $35 ` ( $110 + 1 ) ) ) )
114 109,113 sylibr $p |- ( $35 = (/) -> A. $110 e. ( 0 ..^ ( # ` $35 - 1 ) ) ( $35 ` $110 < $35 ` ( $110 + 1 ) ) )
115 114 ax-gen $a |- A. $35 ( $35 = (/) -> A. $110 e. ( 0 ..^ ( # ` $35 - 1 ) ) ( $35 ` $110 < $35 ` ( $110 + 1 ) ) )
119 sb6 $p |- ( [ (/) / $35 ] A. $110 e. ( 0 ..^ ( # ` $35 - 1 ) ) ( $35 ` $110 < $35 ` ( $110 + 1 ) ) <-> A. $35 ( $35 = (/) -> A.
$110 e. ( 0 ..^ ( # ` $35 - 1 ) ) ( $35 ` $110 < $35 ` ( $110 + 1 ) ) ) )
120 115,119 mpbir $p |- [ (/) / $35 ] A. $110 e. ( 0 ..^ ( # ` $35 - 1 ) ) ( $35 ` $110 < $35 ` ( $110 + 1 ) )
121 22,120 pm3.2i $p |- ( [ (/) / $35 ] $35 e. Word S /\ [ (/) / $35 ] A. $110 e. ( 0 ..^ ( # ` $35 - 1 ) ) ( $35 ` $110 < $35 ` ( $110 + 1
) ) )
126 sban $p |- ( [ (/) / $35 ] ( $35 e. Word S /\ A. $110 e. ( 0 ..^ ( # ` $35 - 1 ) ) ( $35 ` $110 < $35 ` ( $110 + 1 ) ) ) <-> ( [
(/) / $35 ] $35 e. Word S /\ [ (/) / $35 ] A. $110 e. ( 0 ..^ ( # ` $35 - 1 ) ) ( $35 ` $110 < $35 ` ( $110 + 1 ) ) ) )
127 121,126 mpbir $p |- [ (/) / $35 ] ( $35 e. Word S /\ A. $110 e. ( 0 ..^ ( # ` $35 - 1 ) ) ( $35 ` $110 < $35 ` ( $110 + 1 ) ) )
131 df-clab $a |- ( (/) e. { $35 | ( $35 e. Word S /\ A. $110 e. ( 0 ..^ ( # ` $35 - 1 ) ) ( $35 ` $110 < $35 ` ( $110 + 1 ) ) ) } <->
[ (/) / $35 ] ( $35 e. Word S /\ A. $110 e. ( 0 ..^ ( # ` $35 - 1 ) ) ( $35 ` $110 < $35 ` ( $110 + 1 ) ) ) )
132 127,131 mpbir $p |- (/) e. { $35 | ( $35 e. Word S /\ A. $110 e. ( 0 ..^ ( # ` $35 - 1 ) ) ( $35 ` $110 < $35 ` ( $110 + 1 ) ) ) }
136 df-upword $a |- UpWord S = { $35 | ( $35 e. Word S /\ A. $110 e. ( 0 ..^ ( # ` $35 - 1 ) ) ( $35 ` $110 < $35 ` ( $110 + 1 ) ) ) }
137 132,136 eleqtrri $p |- (/) e. UpWord S
MM-PA> le st 136
With what math symbol string? $a |- UpWord S = { $35 | ( $35 e. Word S /\ A. $110 e. ( 0 ..^ ( ( # ` $35 ) - 1 ) ) ( $35 ` $110 < $35 ` ( $110 + 1 ) ) ) }
?BUG CHECK: *** DETECTED BUG 1901
To get technical support, please open an issue
(https://github.com/metamath/metamath-exe/issues) with the
detailed command sequence or a command file that reproduces this bug,
along with the source file that was used. See HELP OPEN LOG for help on
recording a session. See HELP SUBMIT for help on command files. Search
for "bug(1901)" in the m*.c source code to find its origin.
If earlier errors were reported, try fixing them first, because they
may occasionally lead to false bug detection
The text was updated successfully, but these errors were encountered:
I've been developing a proof, one of its steps would not unify and I finally realized that I had a syntax error in definition. Original .mm file:
(the syntax error itself:
# \
w` should've been surrounded by parentheses)After developing most of the proof, I noticed the problem and tried to locally rewrite the definition. The bug appeared.
The text was updated successfully, but these errors were encountered: