Sujet : Bonus: Prolog Systems with Strings, Bigints, etc.. (Re: From Bisimulation to Bisimilarity: A Complete Inference System)
De : janburse (at) *nospam* fastmail.fm (Mild Shock)
Groupes : sci.logicDate : 21. Jul 2025, 22:03:03
Autres entêtes
Message-ID : <105m9u7$2l38j$2@solani.org>
References : 1 2
User-Agent : Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:128.0) Gecko/20100101 Firefox/128.0 SeaMonkey/2.53.21
Hi,
My modelling for atomic Prolog types was a little
overkill, since most Prolog systems are still fond
of atom tables and stuff, but I had a edge with
label 0, between the adress of atomic Prolog type,
and the "value" of an atomic Prolog type. Ok
lets turn this overkill into a bonus:
> So we can study two things under the same umbrella,
> inside the bisimulation framework of Robin Milner:
>
> - Lower Level adresses, such as *1, *2, *3, etc..
>
> - Higher Level Prolog terms, such as f(a,b), a, b, etc..
Add the following item:
- Prolog Systems with Strings, Bigints, etc.. (*)
When atomic things with different adresses
can be still equal, but same_term/2 as
realized in SWI-Prolog might not give that
information. Don’t know what it does…
Bye
Mild Shock schrieb:
Bisimilarity has an interesting history, I
only figured out today. 1981 David Park
mentioned it in a appendix “Unresolved problems.”
Concurrency and Automata on Infinite Sequences
David Park - 1981
https://scispace.com/pdf/concurrency-and-automata-on-infinite-sequences-3eilumrkv0.pdf 1983 Robin Milner had a more grown up theory
about it. With findings such as “Charts C1,
and C2, are congruent if they possess a bisimulation;
Congruence of charts is an equivalence relation.”
A Complete Inference System for a Class of Regular Behaviours
Robin Milner - 1982
https://www.pure.ed.ac.uk/ws/portalfiles/portal/15159317/A_Complete_Inference_System_for_a_Class_of_Regular_Behaviours.pdf But how view syntactic Prolog terms as
infinte trees respective graphs. First of
all you need graphs that are labeled in their
edges, and also labeled in their nodes,
so take a term: f(a,b):
*1 (label f)
/ \
(label 1) / \ (label 2)
/ \
(label a) *2 *3 (label b)
The *1, *2 and *3 are some memory addresses.
The Robin Milner paper does bisimulation
when there are labels in the edges, he
doesn’t show bisimulation if there are
labels in the vertices as well,
but one could use arg(0) for the functor,
actually effectively most Prolog systems
implement a compound as such, a Prolog compound
f(a,b) is basically internally some tupel (f,a,b):
*1
(label 0) / | \
/ | (label 1)
/ | \ (label 2)
f *2 *3
| |
(label 0) | | (label 0)
| |
a b
So we can study two things under the same
umbrella, inside the bisimulation
framework of Robin Milner:
- Lower Level adresses, such as *1, *2, *3, etc..
- Higher Level Prolog terms, such as f(a,b), a, b, etc..
Attention: The “Variables” in Robin Milners
paper are not Prolog Variables, they are more
like bread crumbs from Hänsel and Gretel,
to flee the Witch from the Forest.
Mild Shock schrieb:
Hi,
>
Despite these efforts:
>
The development of concurrent logic programming
was given an impetus when Guarded Horn Clause was
used to implement KL1, the systems programming
language of the Japanese Fifth Generation
Project (FGCS). The FGCS Project was a $400M
initiative by Japan's Ministry of International
Trade and Industry, begun in 1982, to use
massively parallel computing/processing for
artificial intelligence applications.
https://en.wikipedia.org/wiki/Concurrent_logic_programming
>
And relation ship to rational trees, in
Alain Colmerauers WINDOW PRINCIPLE, mostlikely
Bisimulation has a more lasting impact.
>
But who were the founding fathers of bisimulation?
>
Robin Milner (1934–2010)
Primary founder of the concept of bisimulation. Introduced
the idea in the context of Calculus of Communicating
Systems (CCS) in the late 1970s and early 1980s. Bisimulation
became central to his work on concurrency theory. He won
the Turing Award in 1991, partly for this work.
>
Gordon Plotkin
While not the originator of bisimulation itself,
Plotkin worked closely with Milner and contributed
significantly to the theoretical foundations of
operational semantics and domain theory, which
intersect with bisimulation.
>
David Park
Credited with influencing the notion of bisimulation.
His unpublished manuscript (c. 1981) and personal
communications inspired Milner’s formalization.
He clarified the distinction between simulation
and bisimulation.
>
Bye