Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bug check 1901 #178

Open
ProgramCrafter opened this issue Nov 18, 2024 · 0 comments
Open

Bug check 1901 #178

ProgramCrafter opened this issue Nov 18, 2024 · 0 comments

Comments

@ProgramCrafter
Copy link

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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant