Repository navigation
Expand file tree
/
Copy pathUniverseComputerSimulation.hpp
More file actions
128 lines (82 loc) · 3.86 KB
/
Copy pathUniverseComputerSimulation.hpp
File metadata and controls
128 lines (82 loc) · 3.86 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
#ifndef __UNIVERSECOMPUTERSIMULATION_HPP__
#define __UNIVERSECOMPUTERSIMULATION_HPP__
#include "EverythingEquationApp.hpp"
typedef struct ID_Pool_tag {
__int64* simulation_entities;
__int64 simulation_entities_vtop;
__int64 simulation_entities_vcap;
} ID_Pool;
enum claim_class { mathematically_false, mathematically_true, factual_claim, explanation }; // mathematically_false: a claim that is logically impossible to be true, mathematically_true: a claim that is logically impossible to be false, factual_claim: a claim that is accepted as knowledge because all claims in it are either mathematically true or other factual claims, explanation: a claim that contains at least one other explanation that has not yet been proven to be mathematically false
typedef struct CLAIMOID_CLASS_tag {
__int64* claimoids_l;
claim_class* claimoid_l_classes;
__int64* claimoids_r;
claim_class* claimoid_r_classes;
__int64 claimoid_l_vtop;
__int64 claimoids_l_vcap;
__int64 claimoid_r_vtop;
__int64 claimoids_r_vcap;
__int64 claimoid_l_classes_vtop;
__int64 claimoid_l_classes_vcap;
__int64 claimoid_r_classes_vtop;
__int64 claimoid_r_classes_vcap;
} CLAIMOID_CLASS;
typedef struct CLAIM_tag {
__int64 id;
NAND_VECTOR* claim;
claim_class classification;
} CLAIM;
typedef struct KNOWLEDGE_BASE_tag {
__int64 id;
CLAIM** claims;
CLAIMOID_CLASS* claimoid_classifications;
__int64 claims_vtop;
__int64 claims_vcap;
} KNOWLEDGE_BASE;
typedef struct Point_tag {
__int64 id;
__int64 x;
__int64 y;
__int64 z;
__int64 mass;
} Point;
typedef struct GRAVITY_VECTOR_tag {
__int64 direction_x;
__int64 direction_y;
__int64 direction_z;
__int64 magnitude;
} GRAVITY_VECTOR;
typedef struct Universe_Computer_Simulation_State_tag {
__int64 axis_2_pow;
ID_Pool* id_pool;
Point** points;
__int64 points_vtop;
__int64 points_vcap;
claim_class points_claim_classification;
} Universe_Computer_Simulation_State;
enum direction {
reverse, forward
};
typedef struct Universe_Computer_Simulation_tag {
direction time_direction;
Universe_Computer_Simulation_State* omega_state; // beginning state of the universe computer simulation, earlier in time than the alpha state
Universe_Computer_Simulation_State* alpha_state; // end state of the universe computer simulation, later in time than the omega state
NAND_VECTOR* shortest_satisfiable_nand_vector; // the shortest NAND vector that satisfies the universe computer simulation logic, if one exists, otherwise nullptr
NAND_VECTOR* current_nand_vector; // the current NAND logic vector that is being tested to see if it satisfies the universe computer simulation
SAT_VECTOR* current_sat_vector; // the current SAT vector derived from the current NAND vector built from the universe computer simulation NAND logic
__int64 initial_nand_vector_length; // the initial length of the NAND vector that is being tested to see if it satisfies the universe computer simulation
} Universe_Computer_Simulation;
void check_claims(KNOWLEDGE_BASE* knowledge_base);
Point* simp_point_vector_create(__int64 init_sz);
Point* simp_point_vector_read(Point** v, __int64 vtop, __int64 vcap, __int64 loc);
void simp_point_vector_append(Point*** v, __int64* vtop, __int64* vcap, Point* data);
Point* create_point(__int64 x, __int64 y, __int64 z, __int64 mass);
__int64* simp_vector_create(__int64 init_sz);
__int64 simp_vector_read(__int64* v, __int64 vtop, __int64 vcap, __int64 loc);
void simp_vector_append(__int64** v, __int64* vtop, __int64* vcap, __int64 data);
int id_pool_retrieve(__int64* id_pool, __int64* id_pool_vtop, __int64* id_pool_vcap);
void id_pool_submit(__int64* id_pool, __int64* id_pool_vtop, __int64* id_pool_vcap, __int64 id);
int id_pool_retrieve(__int64* id_pool, __int64* id_pool_vtop, __int64* id_pool_vcap);
void id_pool_submit(__int64* id_pool, __int64* id_pool_vtop, __int64* id_pool_vcap, __int64 id);
ID_Pool* create_id_pool();
#endif