Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

ANN: Dogelog: We Have Liftoff, We Have Liftoff

122 views
Skip to first unread message

Mostowski Collapse

unread,
May 25, 2021, 7:43:29 AM5/25/21
to
Dear All,

Needs a decent browser, JavaScript >2015

http://www.dogelog.ch/

Currently swallows errors silently. Everything written
in Prolog itself, read/1, consult/1, etc.. and then cross
compiled into JavaScript. Not sure whether it can already

compile itself. But it has a text field and can add the
clauses in the text field and execute the directives in the
text field, and it has write/1 and nl/0 into the HTML document.

More care for the good boy upcoming.

Have Fun!

Jan Burse, 24.05.2021 #StaySafe
http://www.jekejeke.ch/

Mostowski Collapse

unread,
May 27, 2021, 10:43:45 AM5/27/21
to
To help understand Dogelog, we made a little Q&A.
Here are the results:

Q: What does it mean that Dogelog was produced
by a cross compiler?
A: Dogelog is not enteirely written in JavaScript,
a great part was written in Prolog and then cross
compiled into JavaScript.

Q: Can Dogelog be run without Android?
A: Yes, since the result after cross compilation
was entirely JavaScript, you can run it everywhere
where you find JavaScript, no Android required.

Q: Can Dogelog be run without internet connection?
A: Yes, the compilation has only generated client
code, there is no server code, so once the JavaScript
is loaded, you can run it without a connection.

Q: Can Dogelog be run without a Browser?
A: Yes, its also possible to run Dogelog from within
node.js for example, which is headless.

Q: Can Dogelog be run from within a smartphone?
A: Yes, if you find a capable JavaScript environment
you can also run it on a small device as a smartphone.

Q: Can a smartphone use be demonstrated?
A: Yes we have updated the link http://www.dogelog.ch/ so
that it does automatic zooming, by adding these lines:

<style>
body {
font-family: verdana, sans-serif;
font-size: 2vw;
line-height: 1.4em
}
</style>

Here is a screenshot, even an offline use, where the
internet connection was cut off after Dogelog was loaded:
https://gist.github.com/jburse/f6ad8de5f2a2de54c3efdbbe654e8013#gistcomment-3759547

Q: Can a tablet use be demonstrated?
A: Yes the same link http://www.dogelog.ch/ also works
for tablets. Strangely the same Chrome browser has better
rendering on a Huawei tablet than on Smasung smartphone.
But this is an issue of HTML/CSS and not of Dogelog:
https://gist.github.com/jburse/f6ad8de5f2a2de54c3efdbbe654e8013#gistcomment-3759548

Q; For further questions about Dogelog, where should I go?
A: Documentation about Dogelog will soon be out, tickets
with bug reports or feature requests can be opened on GitHub at:
https://github.com/jburse/jekejeke-samples/issues

Mostowski Collapse

unread,
May 27, 2021, 2:44:05 PM5/27/21
to
It can already do a little Unicode:

:- X = 'hel𝄞lo', write(X), nl.

:- X = 'hel𝄞lo', atom_codes(X, L), write(L), nl.

Try it

hel𝄞lo
[104, 101, 108, 119070, 108, 111]

But I have no clue how the hell I can tease out a
Unicode codepoint categorization from JavaScript?

Mostowski Collapse

unread,
May 27, 2021, 3:22:26 PM5/27/21
to
In Java Unicode categorization is piece of cake.
But in JavaScript, how is it done? Is this some:

You're Gonna Need a Bigger
https://www.youtube.com/watch?v=2I91DJZKRxs

LoL

Mostowski Collapse

unread,
Jun 22, 2021, 9:28:16 AM6/22/21
to
Since inlining works, Dogelog is now old enough for its
own group. Dogelog got its own Facebook Group!

https://www.facebook.com/groups/dogelog

Sergio

unread,
Jun 24, 2021, 11:26:55 PM6/24/21
to
I'm FOR Dogelog!!

Mostowski Collapse

unread,
Nov 7, 2021, 7:27:59 PM11/7/21
to
Dogelogs new signature sound:

Led Zeppelin Immigrant song (Racing Beat remix)
https://www.youtube.com/watch?v=oryBBkmIVCc

LoL

Mostowski Collapse

unread,
Jan 4, 2022, 12:27:43 PM1/4/22
to
Ok, here is a write-up of our christmas and newyears passtime:

Prolog Barber Paradox in JavaScript/Python
https://qiita.com/j4n_bur53/items/59128d9eeb61b86dd133

Have Fun!

Mostowski Collapse

unread,
Jul 3, 2022, 1:27:52 AM7/3/22
to
This was fun!

The Monkey King was asked by Buddha to jump out of
its hand, and failed to do so. We made a little experiment
in extending the reach of Dogelog players rollback hand.
Given the new clause rollback we added further new
feature in the form of a new predicate rollback.

The Monkey King could not leave since Buddha is one
with the world. We went on to extend the Dogelog player
rollback mechanism so that the end-user does not
experience gaps in the Prolog world. Surprisingly the
predicates solution is a little bit different from the
clauses solution.

Buddha’s Hand: Rollback of Abolished Predicates
https://twitter.com/dogelogch/status/1543463690430734337

Buddha’s Hand: Rollback of Abolished Predicates
https://www.facebook.com/groups/dogelog

Mostowski Collapse

unread,
Jul 4, 2022, 7:28:05 AM7/4/22
to

One more new Browser Prolog in town: prolog.run
https://twitter.com/guregu/status/1543655911876874240

Mostowski Collapse

unread,
Jul 8, 2022, 9:06:43 AM7/8/22
to

One more new Browser Prolog in town: ciao playground
https://twitter.com/CiaoProlog/status/1544397192965791744

Mostowski Collapse

unread,
Aug 3, 2022, 6:45:53 PM8/3/22
to
Tarski’s World is a computer-based introduction to
first-order logic permitting the student to construct
and query block worlds. We made a similar experiment

with Dogelog Player where the query language is Prolog.
We could combine the chess board output with a text
field input. Situations are then modelled as king/1 and #

knight/1 facts in the text field input and represented in
the chess board output. The text field input does also
provide space for queries, replicating some of Tarski’s World features.

Dogelog Player meets Tarski's World
https://twitter.com/dogelogch/status/1554398619972796418

Dogelog Player meets Tarski's World
https://www.facebook.com/groups/dogelog

Mostowski Collapse

unread,
Aug 7, 2022, 4:38:44 AM8/7/22
to
Getting rid of some annoying SWISH nonsense:

Dogelog player is a Prolog system 100% written in Prolog
targeting JavaScript and Python. We recently provided a
webifyer that can convert a Prolog text into a HTML page.
To exercise this utility we turned half of a Learn Prolog Now!
section into a Dogelog Notebook.

The new utility allowed us to rapidly create subsections
for some Learn Prolog Now! text. The result are better
than the automatic on the fly conversion towards SWISH
in terms of screen real estate. We could also additionally
demonstrate some non-monotonic tampering by the end-user.

Learn Prolog Now! as a Dogelog Notebook
https://twitter.com/dogelogch/status/1556193360678895616

Learn Prolog Now! as a Dogelog Notebook
https://www.facebook.com/groups/dogelog

Daniel Pehoushek

unread,
Aug 7, 2022, 5:28:01 AM8/7/22
to
is dogleg foundation "implication?"
daniel2380++

Mostowski Collapse

unread,
Aug 7, 2022, 5:37:35 PM8/7/22
to
Can you rephrase the question with more
words and a small example, so that I can
understand what you want to know?

Daniel Pehoushek

unread,
Aug 7, 2022, 5:47:11 PM8/7/22
to
all monotone qbfs are linearly decidable (new theorem of cognition)
implication inserts negation
reasoning by implication is not monotone
logicians should cease usage of implication
to be more reasonable
daniel2380++

Daniel Pehoushek

unread,
Aug 7, 2022, 8:13:42 PM8/7/22
to
almost trivial
is a rather
deep monotone
word pair
with quantifications
for logicians
to print
daniel2380++

Daniel Pehoushek

unread,
Aug 7, 2022, 8:24:12 PM8/7/22
to
imagine generalized hypercubes in space and time to code the points of trinity
almost trivial to compose t h a t ? to do ?
daniel2380++

Mostowski Collapse

unread,
Aug 11, 2022, 1:04:19 PM8/11/22
to
Dear All,

We are happy to announce a new edition of the Dogelog player:

- Browser base_url:
Its now possible to set the Prolog flag base_url when
the Dogelog Player is run from within the browser.
This will affect the predicates open/3 and absolute_file_name/2.

- Non-Monotonic Update:
The clear() JavaScript call could already rollback
monotonic updates for a while. This release brings
rollback of retract/1 and abolish/1.

- Literate Programming:
There is a new webifyer utility which can turn a
Prolog text into a Dogelog notebook page. As an
example tutorial we have webifyied a section from
Learn Prolog Now!

Have Fun!

Jan Burse, 11.08.2022, http://www.xlog.ch/

Mostowski Collapse

unread,
Aug 26, 2022, 5:11:15 PM8/26/22
to

Dogelog Player is a Prolog system 100% written in Prolog
itself that currently targets the JavaScript and the Python
platform. To run fCube, an intuitionistic propositional logic
model finder and prover, we explored some options concerning
libraries for the Dogelog player.

We could run a Prolog text from the logic community inside
Dogelog Player. The problems we experienced like non-standarized
libraries and old Prolog dialect are possible rather the rule than
the exception. Novacore and Liblets helped investigating and
solving the problem.

Porting fCube to Dogelog Player
https://twitter.com/dogelogch/status/1563266539423293443

Porting fCube to Dogelog Player
https://www.facebook.com/groups/dogelog

Daniel Pehoushek

unread,
Aug 27, 2022, 5:45:29 PM8/27/22
to
does fcube take dimacs p cnf n m formulas?
bob and i would be very interested
daniel

Mostowski Collapse

unread,
Aug 27, 2022, 7:20:24 PM8/27/22
to
Here is an example, deciding whether Peirce's law
is provable in intuitionistic logic:

https://jsfiddle.net/Jean_Luc_Picard_2021/4L7zhb1x/10/

The prolog query is:

:- decide((((p => q) => p) => p)).

The result is:

*** The Counter Model (see also the prolog term ) ***
-- root --
FC q;
-- end world --
F p;
-- end world --
T p;
-- end world --
*** Prolog term of the countermodel ***

Mostowski Collapse

unread,
Aug 27, 2022, 7:25:20 PM8/27/22
to
But according to this paper fCube had or has
a bug somewhere, didn't check yet:

Formula Transformers and Combinatorial Test Generators
for Propositional Intuitionistic Theorem Provers
Paul Tarau - 4 Oct 2019
https://arxiv.org/abs/1910.01775

So maybe will upload a revised version of fCube,
or handroll some IPC prover by myself.

Mostowski Collapse

unread,
Aug 28, 2022, 10:00:56 AM8/28/22
to
We made an experiment in provisioning the Dogelog
Player for various code playgrounds. The upcoming release
1.0.2 of Dogelog Player does automatically understand
the script tag, which allows easy shipping of Prolog
text within a HTML page.

Recently browsers started blocking mixed content.
So to run in a code playground we need some HTTPS
hosting. For our new Novacore and Liblets we also
enabled CORS on the server. To stress test JS Fiddle
and the Dogelog Player we used a not so tiny example
in the form of fCube.

Provisioning Dogelog Player for Code Playgrounds
https://twitter.com/dogelogch/status/1563657750672019459

Provisioning Dogelog Player for Code Playgrounds
https://www.facebook.com/groups/dogelog

Mostowski Collapse

unread,
Sep 1, 2022, 9:11:37 AM9/1/22
to

But I could not reproduce a simple sample from
Paul Tarau. Also there is fCube 4.1 and fCube 11.1.
In some slides he claims fCube 4.1 is buggy.

But for example I cannot confirm:

[wrong_failure,(0<->1)<->(1<->((0<->1)<->1))]
https://github.com/ptarau/TypesAndProofs/blob/master/fc.pro

If I try fCube 4.1 here, it tells me everything is ok:

:- decide(((p<=>q)<=>(q<=>((p<=>q)<=>q)))).
1 search result = provable (fCube-4.1)
https://jsfiddle.net/Jean_Luc_Picard_2021/4L7zhb1x/17/

Daniel Pehoushek

unread,
Sep 1, 2022, 10:40:58 AM9/1/22
to
that is two boolean variables
solvable with four bit truth table

bob handles up to 500 variables.

can you decide the standard dimacs logical form?
p cnf n m?

Mostowski Collapse

unread,
Sep 19, 2022, 9:47:58 AM9/19/22
to
The Dogelog player did already have support for the
discontiguous/1 directive for a while, but the multifile/1
directive was just a mockup doing nothing.
This has changed now.

Whats new is that facts, rules or a dynamic declarations
now leave their mark, similarly the multifile/1 directives
do as well now. There is one caveat, the scattering doesn’t
work for the Prolog system itself. Our solution is to assert
the meta data during the epilogue of the transpiled code.

Dogelog Player multifile/1 Directive Support
https://twitter.com/dogelogch/status/1571853780475428864

Dogelog Player multifile/1 Directive Support
https://www.facebook.com/groups/dogelog

Jorge Lopezz

unread,
Oct 15, 2022, 6:04:55 PM10/15/22
to

https://archive.org/details/hyper_number_4_0

I did not see doge up to now.
How that can be ?

Doge has a bit of a hipernumerical features. I think that will be the last element collected for a while. I am very exhosted for now.

Best regards

Mostowski Collapse

unread,
Oct 15, 2022, 6:58:26 PM10/15/22
to
flotsam and jetsam

LoL

Mostowski Collapse

unread,
Oct 15, 2022, 7:13:38 PM10/15/22
to
Dogelog Player is a 100% pure Prolog system for the
JavaScript and the Python platform. It relies on the
arithmetic of the host programming language and
we were currious how subsequently certain Prolog
evaluable functions compare to other Prolog systems.

Instead of breaking our head over designing test data,
we opted for fuzzy testing, where the test data is
produced by some random number generator. We
have now a better grip what the different target platforms
JavaScript and Python can do for the Dogelog Player.

Prolog float/1, (/)/2 and (**)/2 Fuzzing Results
https://twitter.com/dogelogch/status/1581413401510957056

Prolog float/1, (/)/2 and (**)/2 Fuzzing Results
https://www.facebook.com/groups/dogelog

Mostowski Collapse

unread,
Oct 18, 2022, 9:24:41 AM10/18/22
to
We explored the possibility to run a Git independent
of GitHub on a remote server of our own choice. We
report here on our findings and how we have now a
new distribution channel for Dogelog Player.

There was first some turmoil, but the remote Git
repository can be enabled to generate extra
information, which is all what the local HTTP
Git client needs. There is now dumb HTTP access
to the source code, the user manuals and

the examples of the Dogelog player.

Do It Yourself Git for the Dogelog Player
https://twitter.com/dogelogch/status/1582354401221492736

Do It Yourself Git for the Dogelog Player

Mostowski Collapse

unread,
Oct 30, 2022, 4:49:06 PM10/30/22
to
Hotel Grindelwald installed a binary cipher lock
system. It was praised as very user friendly, as
the hotel room safe will open as soon as the correct
binary sequence is entered.

The hotel also claimed that a burglar would need
in maximum of 2048 trials to find the 8 bits. This
was challenged by a guest by the name Colmerauer,
a former professor from Marseille.

The Prolog Halloween Burglar
https://twitter.com/dogelogch/status/1586816121449193478

The Prolog Halloween Burglar
https://www.facebook.com/groups/dogelog

Mild Shock

unread,
Jul 6, 2023, 6:46:59 PM7/6/23
to

In this article we provide a sequel to our automated
first order theorem proover. The initial version
was only based on the implicational fragment of
first order logic. We changed the prover to also support
conjunction.

The result is a new prover again written in Dogelog
Player, a Prolog system for the JavaScript and Python
platform. For the JavaScript platform, the prover can
be run in the browser completely client side.

The exact same conjunction rules can be also added
to intuitionistic logic. Here in classical logic
conjunction is rather redundant, since we have the
dual ¬(A ∧ B) = (A ⊃ ¬B). If we would further add
disjunction, we would end in bi-cartesian logic.

See also:

Cartesian Logic in Dogelog Player
https://twitter.com/dogelogch/status/1677059262734901254

Cartesian Logic in Dogelog Player

Daniel Pehoushek

unread,
Jul 7, 2023, 12:56:55 PM7/7/23
to
my 1000 lines of code solves Pspace.
the output is a monotone conjunctive normal formula on n variables.

care ye to trade propositional cnfs for solving?

the interesting conclusion of thirty years of work on satisfiability and pspace
is the output has zero negations so

avoid negation and be well in leadership
daniel2380+++
0 new messages