Logica del Primo ordine

Logica del primo ordine Questa è la logica più utilizzata dai matematici Limitatezza della logica proposizionale La logica proposizionale classica non è in grado di ragionare sull’infinito Fino ad ora abbiamo utilizzato una metalogica per giustificare il per ogni e l’esiste nelle dimostrazioni fin’ora. Dobbiamo quindi dare una definizione più formale dei quantificatori. Obiettivo della logica del primo ordine Si può quindi identificare come l’obiettivo della logica di primo ordine l’introduzione dei quantificatori dell’universale e dell’esiste ...

December 14, 2021 · Reading Time: 14 minutes ·  By Xuanqiang 'Angelo' Huang

Gruppi Normali

Introduzione Definizione normalità Test del sottogruppo normale Dimostrazione Il gruppo quoziente L’importanza del gruppo normale è che quando esso vale, possiamo avere il gurppo fattore Dimostrazione !

Reading Time: 1 minute ·  By Xuanqiang 'Angelo' Huang

Teorema di Lagrange

Classi laterali Dimostrazione dei lemmi sopra. La cosa interessante di questa parte è possiamo usare una classe laterale per partizionare il gruppo iniziale! Il teorema di Lagrange Dividere significa che **partiziona** l'insieme iniziale in alcuni insiemi distinti. L'insieme $G:H$ è l'insieme che contiene tutti i cosets, credo. Dimostrazione ...

Reading Time: 2 minutes ·  By Xuanqiang 'Angelo' Huang

Consensus protocols

Introduzione Vogliamo tenere in modo sincronizzato alcune macchine, questo è il nostro obiettivo. Questo è un problema abbastanza difficile… Come tenere in sync se ci sono alcuni nodi maligni o la rete che non è bona? Assunzioni principali (2) Esiste internet Esiste Crittografia Queste sono le assunzioni che non saranno mai rilassate per l’intero corso, diciamo che sono la nostra base su cui possiamo andare a costruire la base per il nostro studio. ...

August 28, 2024 · Reading Time: 3 minutes ·  By Xuanqiang 'Angelo' Huang

Filesystem

Perché filesystem? Questa è l’idea presa dall’archivio, come se fosse un ufficio che deve tenere delle pratiche ordinate in cartelle e cartelloni. L’utilizzo principale è dare un interfaccia comune di accesso ai dispositivi. perché dispositivi diversi hanno sotto modi di accedere diversi, questa interfaccia facilita molto l’accesso. Informazioni dei files (5+) Il file è l’unità logica di memorizzazione. il formato che c’è dentro è gestito dall’applicazione, non dal file system! ...

August 28, 2024 · Reading Time: 9 minutes ·  By Xuanqiang 'Angelo' Huang

Goals of Distributed systems

Dependable systems Introduzione Possiamo individuare alcune proprietà dei sistemi distribuiti. Però non siamo riusciti a renderli logicamente validi. Sono ancora un pò misti di linguaggio naturale e della sua ambiguità! Comunque possiamo ridurci per guardare quanto un sistema sia affidabile a guardare poche sue caratteristiche precise. Caratteristiche fondamentali (4) Queste proprietà sono pensate naturalmente caratterizzanti dei sistemi. In particolare dovrebbero essere tutti misurabili. Availability Che risponde nell’istante in cui fai una richiesta. ...

August 28, 2024 · Reading Time: 4 minutes ·  By Xuanqiang 'Angelo' Huang

Introduzione a blockchain

Blockchain stack Vogliamo andare ora a descrivere la stack delle blockchain, in modo simile a quanto fatto con le internet, perché anche qui possiamo organizzarlo a stack! Nota: le astrazioni fra questi layer non sono definiti bene come osi osint. Layer - 0 Internet Internet (semi-reliable point-to-point communication) and cryptography (specifically, cryptographic hash functions and secure digital signatures). Layer - 1 Consensus Ci concentreremo sui protocolli di questo per la maggior parte di quanto faremo! Bitcoin, Ethereum sono tutti a questo livello. ...

August 28, 2024 · Reading Time: 2 minutes ·  By Xuanqiang 'Angelo' Huang

Monitor

Questo è un modo di più alto livello per creare programmazione concorrente. Introduzione ai monitor Questo costrutto per la programmazione concorrente, prende molto dalla programmazione agli oggetti, abbiamo delle variabili presenti al monitor, private solamente accessibili ad essa, tramite procedure che sono mutex automaticamente! Elementi costituenti Dati locali Sequenza di inizializzazione Procedure di entrata Appena provo a chiamare una procedura, questa è fatta già in mutua esclusione!. E possono modificare dati locali solo tramite chiamate a sue procedure ...

August 28, 2024 · Reading Time: 3 minutes ·  By Xuanqiang 'Angelo' Huang

Programmi Concorrenti

Vorremmo cercare di stabilire una teoria riguardante programmi che vengono eseguiti appunto concorrentemente, senza una esecuzione classica uno dpo l’altro Esempio mini-programma rallentamento #include <stdio.h> #include <pthread.h> void test(void *s) { for (int i = 0; i < 10; i++) { printf("%s\n", s); for (int j = 0; j < 100000000; j++); } } int main(int argc, char *argv[]) { pthread_t t1, t2; pthread_create(&t1, NULL, (void *)test, "Uno"); pthread_create(&t2, NULL, (void *)test, "Due"); pthread_join(t1, NULL); pthread_join(t2, NULL); } Example output: Due Uno Uno Due Uno Due Due Uno Due Uno Due Uno Due Uno Due Uno Due Uno Due Uno Esempio 2 mini-programma rallentamento #include <stdio.h> #include <pthread.h> int count = 0; void test(void *s) { for (int i = 0; i < 100000; i++) { count+= 1; } } int main(int argc, char *argv[]) { pthread_t t1, t2; pthread_create(&t1, NULL, test, "Uno"); pthread_create(&t2, NULL, test, "Due"); pthread_join(t1, NULL); pthread_join(t2, NULL); printf("%d\n", count); } Vogliamo creare un modello teorico che riesca a rappresentare il concetto di processi concorrenti, questo è il modello concorrente ...

August 28, 2024 · Reading Time: 5 minutes ·  By Xuanqiang 'Angelo' Huang

Syncronous model

Introduction Da ricordare il “The State Machine Replication (SMR) Problem” in Consensus protocols che è importantissimo per comprendere questa parte. Storia locale Transazioni al singolo noto Problema del sync fra tutti questi nodi. Goal of SMR solution in blockchains Andiamo a considerare alcune proprietà di safety e liveness Programmi Concorrenti Consistenza i nodi devono essere daccordo su quale transazione mettere prima e dopo → stessa storia per tutte le transazioni. (con la possibilità di alcuni nodi che siano indietro, ma solo prefisso!). Liveness che vogliamo dire che tutte le transazioni valide devono essere aggiunte alla fine Assunzioni per sincrono (4) Permissioned, ossia i nodi del nostro modello sono fissi, non possiamo averne di più, non possiamo averne di meno e sono conosciuti. Public key infrastructure, Ogni nodo ha una coppia pubblica e privata. Synchronous, esiste una sorta di stato globale, e tutti i nodi condividono questa informazione. 0, 1, … t. I messaggi sono tutti mandati bene, e arrivano esattamente uno step dopo. (mandato al tempo t, arriva a t + 1). Onestà di tutti i nodi (sarà lasciato subito questa assunzione). 4’. Una percentuale dei nodi è bizantina. ...

August 28, 2024 · Reading Time: 7 minutes ·  By Xuanqiang 'Angelo' Huang