Friday, December 28, 2018

So what is the fabric of space-time?

It is the rectngular graph paper on the engineers desk, that is space time, time on horizontal and space on vertical.  Newton defined the conditions in which order is preserved as the engineer gets more and more granular graph paper. If the engineer meets the conditions, he can use rectangular graph paper.

The physicists have to deal with a divide by zero violation:
1/(Vl-Va), something on the bottom goes to zero when a physical object approaches the maximum speed.  In the limit, the space-time rules will not work, by definition of mass.  Physicists defined mass to be point source, and speed limited; a conflict.

So, simple enough, make it not a violation by presupposing another hidden symmetry of motion, then along that perpendicular, mass has space to move and can be treated as a point source again. They factor  this four dimensional operator, the tensor, which adjusts the equation to provide the additional motion that avoids the divide by zero.  The polynomial degree jumps, like adding a pretend force.  That pretend symmetry is the odd orbit of Mercury, which we can see.

From the engineers point of view, his graph paper will bulge a bit, and slightly rotate to always present the current center point as rectangular.

Is the hidden point of symmetry real? It sure is, if you assume bits of vacuum having interactions. Which is why all the unifying theory come out as making he vacuum a finite dimensional vibrator. The outcome is that mass is squashed vacuum.

I put a copy blow the fold, and you can see it got bloated badly. Much of that bloat will slowly be removed.



#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>

typedef struct {
char * Data[100];
} Base;
typedef Base * PBase;
Base DefaultBase; // One and only one args list
int ArgcBase=0; // Current argc
int TokeBase=0; // the original tokens we identified, earlier on the Busx
int TokeEnd=0; // Endof token list
int StartCommand=0; // Tracks the start of Bus pass through com
int DepthBase=0; // Recursion depth
enum{NOTFOUND,SUCCESS};
// Tokenizerr settings
#define TokDefault 0
#define TokFileNames  1
#define TokEsc 2
#define TokOff 4
int tok_control= TokDefault;
enum{FilePuncts=0,PairPuncts,EolPuncts,ExprPuncts,
SeparPuncts,OpPuncts,NamePuncts,QuotePuncts};
char * puncts[QuotePuncts+2];
// Defaults
void set_default_puncts() {
puncts[FilePuncts]="/_.-";
puncts[PairPuncts]= "'\"`";
puncts[EolPuncts]= ";\n";
puncts[ExprPuncts]= "(=";
puncts[SeparPuncts]="X";
puncts[OpPuncts]= ";{}()*/=+-^&";
puncts[NamePuncts]= "_-.";
puncts[QuotePuncts]= "_-.";
}
#define op_puncts puncts[FilePuncts]

// using # for comments and semi colons
// fill in the bottom of args with token pointers


#define is_op(a) strchr(puncts[OpPuncts],a)
#define is_pair(a) strchr(puncts[PairPuncts],a)
#define is_eol(a) strchr(puncts[EolPuncts],a)
#define is_expr(a) strchr(puncts[ExprPuncts],a)
#define is_separ(a) (puncts[SeparPuncts] && strchr(puncts[SeparPuncts],a))
#define is_name(a) (isalnum(a) || (a && strchr(puncts[NamePuncts],a)) )
#define is_quote(a) strchr(puncts[QuotePuncts],a)
// file or expression syntax
#define expr 1
#define eol 0
void swap_puncts(int mode) {
if(mode==expr)
puncts[OpPuncts] = puncts[FilePuncts];
else
puncts[OpPuncts] = puncts[ExprPuncts];
}
char comment_char ='#';
#define flush_line(a) {*a=0; do a++; while(*a && (*a != '\n'));}
char * flush_name(char * a) {
char * b;
while(is_name(*a)) {
b = strchr(puncts[NamePuncts],*a);
a++;
}
return(a);
 }
#define flush_quote(a)  while(!is_quote(*a)) a++

const char * escapes = "abfnrtv\\\?";
char escape(char  ch) {
char e;
if(ch != '\\') return(ch);
else if(tok_control & TokEsc) return(ch);
else if ((e = *strchr(escapes,ch)))  return(e);
return(ch);
}
// This will not handle ++ correct, yet
#define eol_m 1
#define expr_m 0
char * flush_separs(char * a){
while(isspace(*a)  || is_separ(*a) ) a++;
return(a);}
int argtoks(char * src) {

PBase p = &DefaultBase;
char * op=0;
char * end=0;
char  ch=0;
while(*src) {

src=flush_separs(src);  // find next token start
if(!*src) { if(ch) *end=0; break;} // Null terminate last token
op = strchr(puncts[OpPuncts], *src); // Is it a special?
if(*src == comment_char) flush_line(src)
// look for mode change
else if(is_expr(*src)) swap_puncts(expr_m);
else if(is_eol(*src))  swap_puncts(eol_m);
else if(op) {
p->Data[TokeEnd]=op;  // point to stored copy, not source
if(ch && !is_op(ch) ) *end=0;
if( is_pair(*src) ) flush_quote(src); // quotes, likely needs escapin
ch=*op; //
src++;
} else { // a name like a variable
p->Data[TokeEnd]= src;
if(ch && !is_op(ch)) *end=0;
src = flush_name(src);
ch= *(src-1); // save previous ending char
}
end=src;
TokeEnd++;
}
return(SUCCESS);
}

int SetConsole(int * argc,void* args[]){
int i =*argc +1;
int j =0;
int mask=atoi((char *) args[i]);
while(mask) {
if(1 & (mask >> 1)) {
puncts[j]= args[i];
i++;
}
j++;
}
return(SUCCESS);
}
int main(void) {
char  src[30];
memset(src,0,30);
strcpy(src,"Load /home/so/xchars");
set_default_puncts();
argtoks(src);
}

No comments: