SWI-Prolog/swish

Table renderer doesn't use priority 1200 for cells

Closed this issue · 3 comments

Was using the SWISH table renderer in a little Prolog notebook:

M = 2,
T =
Nr        Rule        Formula
1        'ax-2'        ((p->f->q)->(p->f)->p->q)
2        'ax-1'        ((f->q)->p->f->q)
3        'ax-ef'        (f->q)
4        'ax-mp'(2, 3)        (p->f->q)
5        'ax-mp'(1, 4)        ((p->f)->p->q) 

The Prolog notebook is here:

Find a Hilbert proof in varity of propositional logics
https://swish.swi-prolog.org/p/Hilbert3.swinb

I think there is a glitch in the table renderer. The table cells
are not written with priority 1200. Because for example I see
(f->p). But a rendering as f->p should be enough as well.

This issue has been mentioned on SWI-Prolog. There might be relevant details there:

https://swi-prolog.discourse.group/t/swi-prolog-php-html/2937/74

You can compare with another Prolog notebook, where we used
write instead of a table renderer. The superfluous parenthesis don't appear.

?- hilbert_how((p->p),3,M).
1. ax-2: (p->(u->p)->p)->(p->u->p)->p->p
2. ax-1: p->(u->p)->p
3. ax-mp(1, 2): (p->u->p)->p->p
4. ax-1: p->u->p
5. ax-mp(3, 4): p->p
M = 2

For example p->p is written as is, and not as (p->p).
The Prolog notebook that uses write, instead of a
table renderer is this here:

Find a Hilbert proof in minimal propositional logic
Using write statements
https://swish.swi-prolog.org/p/Hilbert2.swinb

Fixed with f10f3b0