this post was submitted on 25 Dec 2024
60 points (100.0% liked)

Programmer Humor

32733 readers
677 users here now

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

founded 5 years ago
MODERATORS
 
% Piano Axioms

% Axiom 1: Law of Excluded Gray
key_type(white).
key_type(black).

% Axiom 2: The C Postulate
key_color(c, white).

% Axiom 3: The Diatonic Scale
next_white_key(c, d).
next_white_key(d, e).
next_white_key(e, f).
next_white_key(f, g).
next_white_key(g, a).
next_white_key(a, b).
next_white_key(b, c).

% Axiom 4: The Semitone Anomaly
semitone_gap(e, f, 1).
semitone_gap(b, c, 1).
semitone_gap(X, Y, 2) :- 
    next_white_key(X, Y),
    X \= e,
    X \= b.

% Axiom 5: Black Key Entropy
has_black_key_between(X, Y) :-
    next_white_key(X, Y),
    semitone_gap(X, Y, 2).

% Axiom 6: The "8 is 12" Principle.
octave_size(12).

% Axiom 7: Out of Bounds Exception
total_keys(88).

% Theorem 1: Conservation of "Wrong Notes"
style(jazz) :-
    wrong_notes > 0,
    write('All wrong notes are now intentional').
top 5 comments
sorted by: hot top controversial new old
[–] death_to_carrots@feddit.org 16 points 1 day ago

Oh, a very rare programming-maths-music meme. Best I can do is 50.

[–] lwhjp@lemmy.sdf.org 4 points 1 day ago
[–] breadsmasher@lemmy.world 4 points 1 day ago (2 children)
[–] Ephera@lemmy.ml 15 points 1 day ago

They're being defined right in this post. 🙃

Prolog is a language that allows you to specify a whole bunch of rules/axioms and then you can query logical conclusions that can be made from these.

If you go to https://swish.swi-prolog.org/ and click on "Create a [Program]", then paste the post text on the left side (without the Theorem 1, as that one doesn't compile), then you can query it in the bottom right.
For example, if you ask it between which keys there's a gap of just 1 semitone:

?- semitone_gap(X, Y, 1)

Then it will first tell you that X=e & Y=f, as the first possible solution. Then you can click "Next" and it'll tell you another solution is X=b & Y=c.

[–] Funkytom467@lemmy.world 13 points 1 day ago

Just a joke on what makes a piano, i suppose the pun is intended but Peano's axiom are famous mathematical axioms.