grgdecl.sl 78 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386
  1. %==========================================================================%
  2. % GRGdecl.sl Internal Variables, Flags, Properties %
  3. %==========================================================================%
  4. % GRG 3.2 Standard Lisp Source Code (C) 1988-2000 Vadim V. Zhytnikov %
  5. %==========================================================================%
  6. % This file is distributed without any warranty. You may modify it but you %
  7. % are not allowed to remove author's name and/or distribute modified file. %
  8. %==========================================================================%
  9. %
  10. % Notation for GRG symbols :
  11. %
  12. % !!sym!! - Self-Quoted Symbols
  13. % ![sys!] - Internal GRG Control or Working System Variables
  14. % !#id - Internal Variables of Built-in Objects
  15. % !+flag - GRG Specific Flags
  16. % !=prop - GRG Specific Properties
  17. % !*switch - GRG and REDUCE Switches
  18. % funtion!> - GRG functions
  19. %
  20. %========== (1) Internal GRG Control Variables ==========================
  21. (put 'grg 'stat 'endstat) % Making grg; REDUCE command ...
  22. %---------- GRG System Variables --------------------------------------
  23. (global '(
  24. ![version!] % Version number
  25. % Start mode :
  26. ![autostart!] % Run (grg) atomatically during load grg; or not
  27. % General Status :
  28. ![dim!] % Current Dimension 4
  29. ![dim1!] % dim-1
  30. ![sgn!] % Current Signature (-1 1 1 1)
  31. ![sigprod!] % prod(-1 1 1 1)
  32. ![dim0!] % Initial Dimension and
  33. ![sgn0!] % Signature in the session
  34. ![umod!] % Current basis mode
  35. % Metric and Frame Type :
  36. ![mtype!] % Metric type: nil - unknown
  37. ![mitype!] % 1 - null 2 - diagonal 3 - general
  38. ![dtype!] % Metric differentiability: nil - unknown
  39. ![ditype!] % 1 - constant 2 - general
  40. ![ftype!] % Frame type: nil - unknown
  41. ![fitype!] % 1 - holonomic 2 - diagonal 3 - general
  42. ![nullm!] % Standard Null Metric for -,+,+,+
  43. ![nullm1!] % Standard Null Metric for +,-,-,-
  44. % Others working variables :
  45. ![w!] % General purpose
  46. ![instr!] % All Commands list
  47. ![datl!] % All Objects
  48. ![abbr!] % All User-Defined Objects (Abbreviations)
  49. ![rconstl!] % List of reserved constants
  50. ![sublist!] % Substitutions List
  51. ![rpfl!] % Flags and properties which must be cleared
  52. ![rpflcr!] % for Coordinates
  53. ![rpflcn!] % for Constants
  54. ![rpflap!] % for Affine Parameter
  55. ![rpflfu!] % for Functions
  56. ![tlst!] % List of Energy-Momentum tensors
  57. ![slst!] % List of spin forms
  58. ![solveq!] % Equations for solve
  59. ![allprops!] % All Flags and Props
  60. ![allflags!] % important for Load/Unload
  61. ![icompos!] % List of Commands allowed in composites
  62. ![newabbr!] % New object in assignment
  63. ![wi!] ![wh!] ![wf!] ![ws!]
  64. ![gfun!] % Generic functions list
  65. % Session Control :
  66. ![er!] % Error type
  67. ![firsti!] % First instruction indicator for Dimension
  68. ![time!] % Timer
  69. ![gctime!] % GC Timer
  70. ![ttime!] % Total Session Time
  71. ![tgctime!] % Total GC Time
  72. ![pause!] % Pause regim indicator
  73. ![origlower!]
  74. % Switches control :
  75. ![flaghis!] % Flags On/Off history list
  76. ![flagl!] % GRG Flags list
  77. ![flaglo!] % GRG Output-Flags list
  78. ![iflago!] % Initial mode of output
  79. ![echo!] % Echo in LISTOK>
  80. ![flagnil!] % Swithes initailly to nil
  81. ![flagt!] % Swithes initially t
  82. ![fldtuned!] % nil tuning of FANCY-LOWER-DIGITS is needded
  83. % OS scpecific :
  84. ![dirsep!] % The directories separator. This symbol is
  85. % added to the end of GRG environ. var. when
  86. % trying to open files.
  87. % \ for DOS, / for UNIX, : for VMS (?)
  88. % if nil then nothing added.
  89. ![syscall!] % Temporary exit to OS and OS commands
  90. % 1 - via SYSTEM (UNIX,DOS)
  91. % 2 - via QUIT (VAX/VMS)
  92. % nil - forbidden
  93. ![grgdir!] % Standard Input Didrectory Expanded
  94. ![grgdir1!] % Standard Input Didrectory
  95. % Version specific:
  96. ![lower!] % If t then background lisp internally is in lower case
  97. % Debugging :
  98. ![erst1!] % First ERRORSET debuggin parameter
  99. ![erst2!] % Second ERRORSET debuggin parameter
  100. % GRG printing:
  101. ![line!] % Current Line for GPRIN
  102. ![lline!] % Current Line Length
  103. ![gptab!] % Tabulation for GPRIN
  104. ![gpfirst!] % First Line marker for GPRIN
  105. ![modp!] % Basis mode for write
  106. ![allzero!] % Zero-Nonzero components indicator for write
  107. ![idwri!] % Writed Data Identifier
  108. % Files manipulation :
  109. ![fromf!] % In file
  110. ![loa!] % Load file
  111. ![unl!] % Global Unload file
  112. ![lunl!] % Local Unload file
  113. ![wri!] % Global Write file
  114. ![lwri!] % Local Write file
  115. % Data evaluation control :
  116. ![chain!] % Chain of required data in REQUEST
  117. ![way!] % Way for Find/Calculate
  118. % Translation control:
  119. ![cs!] % Chanhe Sign
  120. ![ch!] % Change Conjugation
  121. ![lsrs!] % Left or Right side in equation
  122. ![extvar!] % External variables list
  123. ![extvara!] % Additional external variables list
  124. ![idl!] % For T(J) = expr(J)
  125. ![texpr!] % translation
  126. ![ivs!] % Iteration vars stack
  127. % Coordinates transformation:
  128. ![ocord!] % Old coordinates list
  129. ![x!] % X
  130. ![dfx!] % d X
  131. ![dex!] % @ X
  132. % Basis mode:
  133. ![xb!] % d X/\d Y/\...
  134. ![xf!] % d X = b
  135. ![xv!] % @ X = e
  136. ![ccb!] % ~ b
  137. ![ccbi!] % ~ e
  138. ![dbas!] % d(b/\...) accumulation
  139. % Rotations:
  140. ![l!] % L - frame rotaion matrix
  141. ![dl!] % det(L) - its det
  142. ![sdl!] % sgn(det(L)) - the sign of its det
  143. ![li!] % L^(-1) - its inverse
  144. ![ls!] % LS - spinor rotation matrix
  145. ![dens!] % density factor for an object
  146. % Processor internals:
  147. ![tlow!] % T_a (lower index a) for Duialisation
  148. ))
  149. (setq ![autostart!] t) % By default we start (grg) during load grg;
  150. %------- Self Quoted Atoms -------------------------------------------
  151. (global '( !!stop!! !!next!! !!er!! ))
  152. (setq !!stop!! '!!stop!!) % This is STOP
  153. (setq !!er!! '!!er!!) % This is ERROR
  154. (setq !!next!! '!!next!!) % This is NEXT
  155. %-----------------------------------------------------------------------
  156. %========== (2) Built-In Objects =======================================
  157. %---- Flags and Properties for Internal Data variables #ID -------------
  158. %
  159. % Prop =type - Type of Component:
  160. % -1 - vector; 0 - algebraic expression, n - n-form.
  161. %
  162. % Prop =idxl - List of Indices. Absent for Scalars. In The List:
  163. % nil - lower frame, t - upper frame,
  164. % 0 - lower holonomic, 1 - upper holonomic,
  165. % (u . n) - un. spinor, (d . n) - do. spinor,
  166. % (uu . n) - up un. spinor, (ud . n) - up do. spinor,
  167. % (n . n) - enimerating, (n) - enum. d-dimensional.
  168. %
  169. % Prop =sidxl - Symmetries List is (sy1 sy2 ...)
  170. % sy = (type el1 el2 ...)
  171. % with type = a | s | h | c which stands for
  172. % Antisymmetric, Symmetric, Hermitian, Cyclic
  173. % el = n | (n1 n2 ...) | sy
  174. % where n is the index number and sy as above.
  175. %
  176. % Prop =way - Ways of Calculation is (el1 el2 ...)
  177. % el = ( (name) (cond) (evfun) data ... )
  178. % data = id | (cond id1 id2 ...) | (t id)
  179. % the second form is included iff cond=true
  180. % the third form defines Main data.
  181. %
  182. % Prop =constr - Restriction when data can be used is
  183. % (fn1 fn2 ...)
  184. % where fn is function call.
  185. %
  186. % Prop =dens - Pseudo-tensor and Density properties
  187. % List of four elements (a b c d)
  188. % a=t/nil - Pseudo for coodrinate transform sgnD
  189. % b=n - Density for coordinate transform D^n
  190. % c=t/nil - Pseudo for rotations sgnL
  191. % d=n - Density for rotations L^n
  192. %
  193. % Flag +noncov - Marks Noncovariant data types for
  194. % preventing Dc and Lie calculation.
  195. % But don't prevent rotations.
  196. %
  197. % Flags +fconn +hconn +uconn +dconn
  198. % types of connection are
  199. % Frame, Holonomic, Spinorial, Conjugate Spinorial
  200. %
  201. % Flag +hold - Prevents rotation or coordinate
  202. % transformation of the object.
  203. %
  204. % Flag +pl - Marks oblects with plural name.
  205. %
  206. % Flag +equ - Marks equations.
  207. %
  208. % Flag +ivar - Marks all internal variables.
  209. %
  210. % Flag +abbr - Marks new user created objects (abbreviations).
  211. %
  212. % Prop =unl - Special function call for Unload.
  213. %
  214. % Prop =datl - Special function call for Write.
  215. %
  216. % Prop =tex - Writre in FANCY/TEX output mode.
  217. % If ID than ID both in TEX and FANCY mode
  218. % If (IT . IF) IT for TEX IF for FANCY
  219. %----- Flags and Prop. for Funs and Vars (Cord, Const, Fun) --------
  220. %
  221. % Flag +grg - Already used by GRG (Can't be declared once again).
  222. %
  223. % Prop =depend - Dependence List for Functions.
  224. %
  225. % Flag +grgvar - Marks Variables: Cord, Const, Implicit Fun.
  226. % So, can be used as var in any expression.
  227. %
  228. % Flag +fun - Marks Functions.
  229. %
  230. % Prop =cord - Coordinate number N (0 1 ... dim-1).
  231. %
  232. % Prop =conj - Complex Conjugated Object.
  233. %
  234. % Prop =subind - Value of Iteration Variable.
  235. %
  236. % Flag +redbad - Specially blocks some atoms.
  237. %
  238. % Reduce Flags: used!* constant
  239. %
  240. % Reduce Flags: subfn symmetric antisymmetric odd even
  241. %
  242. % Reduce Props: simpfn kvalue klist narg
  243. %
  244. %-----------------------------------------------------------------------
  245. %------- Data List -------------------------------------------------
  246. (setq ![datl!] '(
  247. % Coordinates, Constants, Functions, Solutions ...
  248. ((Coordinates) ![cord!] )
  249. ((Functions) ![fun!] )
  250. ((Constants) ![const!] )
  251. ((Affine Parameter) ![apar!] )
  252. ((Solutions) ![sol!] )
  253. % Metric, Frame, Basis, Volume ...
  254. ((Frame) !#!T )
  255. ((Vector Frame) !#!D )
  256. ((Metric) !#!G )
  257. ((Inverse Metric) !#!G!I )
  258. ((Det of Metric) !#!d!e!t!G )
  259. ((Det of Holonomic Metric) !#!d!e!t!g )
  260. ((Sqrt Det of Metric) !#!s!d!e!t!G )
  261. ((Volume) !#!V!O!L )
  262. ((Basis) !#!b )
  263. ((Vector Basis) !#!e )
  264. ((S - forms) !#!S )
  265. % Rotation Matrices ...
  266. ((Frame Transformation) !#!L )
  267. ((Spinorial Transformation) !#!L!S )
  268. % Connection and related objects ...
  269. ((Frame Connection) !#!o!m!e!g!a )
  270. ((Holonomic Connection) !#!G!A!M!M!A )
  271. ((Undotted Connection) !#!o!m!e!g!a!u )
  272. ((Dotted Connection) !#!o!m!e!g!a!d )
  273. ((Spinorial Connection) ( !#!o!m!e!g!a!u !#!o!m!e!g!a!d ))
  274. ((Riemann Frame Connection) !#!r!o!m!e!g!a )
  275. ((Riemann Holonomic Connection) !#!R!G!A!M!M!A )
  276. ((Riemann Undotted Connection) !#!r!o!m!e!g!a!u )
  277. ((Riemann Dotted Connection) !#!r!o!m!e!g!a!d )
  278. ((Riemann Spinorial Connection) ( !#!r!o!m!e!g!a!u !#!r!o!m!e!g!a!d ))
  279. ((Connection Defect) !#!K )
  280. ((Undotted S - forms) !#!S!U )
  281. ((Dotted S - forms) !#!S!D )
  282. ((Spinorial S - forms) ( !#!S!U !#!S!D ))
  283. % Torsion ...
  284. ((Torsion) !#!T!H!E!T!A )
  285. ((Contorsion) !#!K!Q )
  286. ((Torsion Trace 1 - form) !#!Q!Q )
  287. ((Antisymmetric Torsion 3 - form) !#!Q!Q!A )
  288. ((Undotted Contorsion) !#!K!U )
  289. ((Dotted Contorsion) !#!K!D )
  290. ((Spinorial Contorsion) ( !#!K!U !#!K!D ))
  291. ((Torsion Trace) !#!Q!T )
  292. ((Torsion Pseudo Trace) !#!Q!P )
  293. ((Traceless Torsion Spinor) !#!Q!C )
  294. ((Torsion Spinors) ( !#!Q!C !#!Q!T !#!Q!P ))
  295. ((Torsion Components) ( !#!Q!C !#!Q!T !#!Q!P ))
  296. ((Traceless Torsion 2 - form) !#!T!H!Q!C )
  297. ((Torsion Trace 2 - form) !#!T!H!Q!T )
  298. ((Antisymmetric Torsion 2 - form) !#!T!H!Q!A )
  299. ((Torsion 2 - forms) ( ((geq ![dim!] 3) !#!T!H!Q!C)
  300. !#!T!H!Q!T
  301. ((geq ![dim!] 3) !#!T!H!Q!A) ))
  302. ((Undotted Torsion Trace 2 - form) !#!T!H!Q!T!U )
  303. ((Undotted Antisymmetric Torsion 2 - form) !#!T!H!Q!A!U )
  304. ((Undotted Traceless Torsion 2 - form) !#!T!H!Q!C!U )
  305. ((Undotted Torsion 2 - forms) ( !#!T!H!Q!C!U !#!T!H!Q!T!U !#!T!H!Q!A!U ))
  306. % Nonmetricity ...
  307. ((Nonmetricity) !#!N )
  308. ((Nonmetricity Defect ) !#!K!N )
  309. ((Weyl Vector) !#!N!N!W )
  310. ((Nonmetricity Trace) !#!N!N!T )
  311. ((Symmetric Nonmetricity 1 - form) !#!N!C )
  312. ((Antisymmetric Nonmetricity 1 - form) !#!N!A )
  313. ((Nonmetricity Trace 1 - form) !#!N!T )
  314. ((Weyl Nonmetricity 1 - form) !#!N!W )
  315. ((Nonmetricity 1 - forms) ( !#!N!C
  316. ((geq ![dim!] 3) !#!N!A)
  317. !#!N!T
  318. !#!N!W ))
  319. % Curvature ...
  320. ((Curvature) !#!O!M!E!G!A )
  321. ((Undotted Curvature) !#!O!M!E!G!A!U )
  322. ((Dotted Curvature) !#!O!M!E!G!A!D )
  323. ((Spinorial Curvature) ( !#!O!M!E!G!A!U !#!O!M!E!G!A!D ))
  324. ((Riemann Tensor) !#!R!I!M )
  325. ((Ricci Tensor) !#!R!I!C )
  326. ((A - Ricci Tensor) !#!R!I!C!A )
  327. ((S - Ricci Tensor) !#!R!I!C!S )
  328. ((Homothetic Curvature) !#!O!M!E!G!A!H )
  329. ((Scalar Curvature) !#!R!R )
  330. ((Einstein Tensor) !#!G!T )
  331. ((Weyl Spinor) !#!R!W)
  332. ((Traceless Ricci Spinor) !#!R!C)
  333. ((Ricanti Spinor) !#!R!A)
  334. ((Traceless Deviation Spinor) !#!R!B)
  335. ((Scalar Deviation) !#!R!D)
  336. ((Curvature Spinors) ( !#!R!W !#!R!C !#!R!R
  337. (!*torsion !#!R!B !#!R!A !#!R!D ) ))
  338. ((Curvature Components) ( !#!R!W !#!R!C !#!R!R
  339. (!*torsion !#!R!B !#!R!A !#!R!D ) ))
  340. ((Undotted Weyl 2 - form) !#!O!M!W!U )
  341. ((Undotted Traceless Ricci 2 - form) !#!O!M!C!U )
  342. ((Undotted Scalar Curvature 2 - form) !#!O!M!R!U )
  343. ((Undotted Ricanti 2 - form) !#!O!M!A!U )
  344. ((Undotted Traceless Deviation 2 - form) !#!O!M!B!U )
  345. ((Undotted Scalar Deviation 2 - form) !#!O!M!D!U )
  346. ((Undotted Curvature 2 - forms)
  347. ( !#!O!M!W!U !#!O!M!C!U !#!O!M!R!U (!*torsion !#!O!M!A!U !#!O!M!B!U !#!O!M!D!U )))
  348. ((Weyl 2 - form) !#!O!M!W )
  349. ((Traceless Ricci 2 - form) !#!O!M!C )
  350. ((Scalar Curvature 2 - form) !#!O!M!R )
  351. ((Ricanti 2 - form) !#!O!M!A )
  352. ((Traceless Deviation 2 - form) !#!O!M!B )
  353. ((Antisymmetric Curvature 2 - form) !#!O!M!D )
  354. ((Homothetic Curvature 2 - form) !#!O!S!H )
  355. ((Antisymmetric S - Ricci 2 - form) !#!O!S!A )
  356. ((Traceless S - Ricci 2 - form) !#!O!S!C )
  357. ((Antisymmetric S - Curvature 2 - form) !#!O!S!V )
  358. ((Symmetric S - Curvature 2 - form) !#!O!S!U )
  359. ((Curvature 2 - forms) (
  360. ((geq ![dim!] 4) !#!O!M!W )
  361. ((geq ![dim!] 3) !#!O!M!C )
  362. !#!O!M!R
  363. ((and (or !*torsion !*nonmetr) (geq ![dim!] 3)) !#!O!M!A )
  364. ((and (or !*torsion !*nonmetr) (geq ![dim!] 4)) !#!O!M!B )
  365. ((and (or !*torsion !*nonmetr) (geq ![dim!] 4)) !#!O!M!D )
  366. (!*nonmetr !#!O!S!H )
  367. ((and !*nonmetr (geq ![dim!] 3)) !#!O!S!A )
  368. (!*nonmetr !#!O!S!C )
  369. ((and !*nonmetr (geq ![dim!] 4)) !#!O!S!V )
  370. ((and !*nonmetr (geq ![dim!] 3)) !#!O!S!U )
  371. ))
  372. % Various constants ...
  373. ((A - Constants) !#!A!C!O!N!S!T )
  374. ((L - Constants) !#!L!C!O!N!S!T )
  375. ((M - Constants) !#!M!C!O!N!S!T )
  376. % Scalar field ...
  377. ((Scalar Equation) !#!S!C!q )
  378. ((Scalar Field) !#!F!I )
  379. ((Scalar Action) !#!S!A!C!T )
  380. ((Minimal Scalar Action) !#!S!A!C!T!M!I!N )
  381. ((Minimal Scalar Energy - Momentum Tensor) !#!T!S!C!L!M!I!N )
  382. % EM field ...
  383. % for all dim ...
  384. ((EM Potential) !#!A )
  385. ((Current 1 - form) !#!J )
  386. ((EM Action) !#!E!M!A!C!T )
  387. ((EM 2 - form) !#!F!F )
  388. ((EM Tensor) !#!F!T )
  389. ((First Maxwell Equation) !#!M!W!F!q )
  390. ((Second Maxwell Equation) !#!M!W!S!q )
  391. ((Maxwell Equations) ( !#!M!W!F!q !#!M!W!S!q ))
  392. ((Continuity Equation) !#!C!O!q )
  393. ((EM Energy - Momentum Tensor) !#!T!E!M )
  394. % dim=4 only ...
  395. ((First EM Scalar) !#!S!C!F )
  396. ((Second EM Scalar) !#!S!C!S )
  397. ((EM Scalars) ( !#!S!C!F !#!S!C!S ))
  398. ((Selfduality Equation) !#!S!D!q )
  399. ((Complex EM 2 - form) !#!F!F!U )
  400. ((Complex Maxwell Equation) !#!M!W!U!q )
  401. ((Undotted EM Spinor) !#!F!I!U )
  402. ((Complex EM Scalar) !#!S!C!U )
  403. ((EM Energy - Momentum Spinor) !#!T!E!M!S )
  404. % YM field ...
  405. ((YM Potential) !#!A!Y!M )
  406. ((Structural Constants) !#!S!C!O!N!S!T )
  407. ((YM Action) !#!Y!M!A!C!T )
  408. ((YM 2 - form) !#!F!F!Y!M )
  409. ((YM Tensor) !#!F!T!Y!M )
  410. ((First YM Equation) !#!Y!M!F!q )
  411. ((Second YM Equation) !#!Y!M!S!q )
  412. ((YM Equations) ( !#!Y!M!F!q !#!Y!M!S!q ))
  413. ((YM Energy - Momentum Tensor) !#!T!Y!M )
  414. % Dirac field ...
  415. ((Phi Spinor) !#!P!H!I )
  416. ((Chi Spinor) !#!C!H!I )
  417. ((Dirac Spinor) ( !#!P!H!I !#!C!H!I ))
  418. ((Dirac Action 4 - form) !#!D!A!C!T )
  419. ((Undotted Dirac Spin 3 - Form) !#!S!P!D!I!U )
  420. ((Dirac Energy - Momentum Tensor) !#!T!D!I )
  421. ((Phi Dirac Equation) !#!D!P!q )
  422. ((Chi Dirac Equation) !#!D!C!q )
  423. ((Dirac Equation) ( !#!D!P!q !#!D!C!q ))
  424. % Geodesics and congruences ...
  425. ((Geodesic Equation) !#!G!E!O!q )
  426. % Null congruence ...
  427. ((Congruence) !#!K!V )
  428. ((Null Congruence Condition) !#!N!C!o )
  429. ((Geodesics Congruence Condition) !#!G!C!o )
  430. ((Congruence Expansion) !#!t!h!e!t!a!O )
  431. ((Congruence Squared Rotation) !#!o!m!e!g!a!S!Q!O )
  432. ((Congruence Squared Shear) !#!s!i!g!m!a!S!Q!O )
  433. ((Optical Scalars)
  434. (!#!t!h!e!t!a!O !#!o!m!e!g!a!S!Q!O !#!s!i!g!m!a!S!Q!O ))
  435. % Kinematics ...
  436. ((Velocity Vector) !#!U!V )
  437. ((Velocity) !#!U!U )
  438. ((Velocity Square) !#!U!S!Q )
  439. ((Projector) !#!P!R )
  440. ((Acceleration) !#!a!c!c!U )
  441. ((Vorticity) !#!o!m!e!g!a!U )
  442. ((Volume Expansion) !#!t!h!e!t!a!U )
  443. ((Shear) !#!s!i!g!m!a!U )
  444. ((Kinematics)
  445. ( !#!a!c!c!U !#!o!m!e!g!a!U !#!t!h!e!t!a!U !#!s!i!g!m!a!U ))
  446. % Ideal Fluid ...
  447. ((Pressure) !#!P!R!E!S )
  448. ((Energy Density) !#!E!N!E!R )
  449. ((Ideal Fluid Energy - Momentum Tensor) !#!T!I!F!L )
  450. % Spin Fluid ...
  451. ((Spin Fluid Energy - Momentum Tensor) !#!T!S!F!L )
  452. ((Spin Density) !#!S!P!F!L!T )
  453. ((Spin Density 2 - form) !#!S!P!F!L )
  454. ((Undotted Fluid Spin 3 - form) !#!S!P!F!L!U )
  455. ((Frenkel Condition) !#!F!C!o )
  456. % Total Energy-Momentum and Spin ...
  457. ((Total Energy - Momentum Tensor) !#!T!E!N!M!O!M )
  458. ((Total Energy - Momentum Spinor) !#!T!E!N!M!O!M!S )
  459. ((Total Energy - Momentum Trace) !#!T!E!N!M!O!M!T )
  460. ((Total Undotted Spin 3 - form) !#!S!P!I!N!U )
  461. % Einstein Equations ...
  462. ((Einstein Equation) !#!E!E!q )
  463. ((Traceless Einstein Equation) !#!C!E!E!q )
  464. ((Trace of Einstein Equation) !#!T!E!E!q )
  465. ((Spinor Einstein Equations) ( !#!C!E!E!q !#!T!E!E!q ))
  466. % Gravitational Equations ...
  467. ((Action) !#!L!A!C!T )
  468. ((Undotted Curvature Momentum) !#!P!O!M!E!G!A!U )
  469. ((Torsion Momentum) !#!P!T!H!E!T!A )
  470. ((Metric Equation) !#!M!E!T!R!q )
  471. ((Torsion Equation) !#!T!O!R!S!q )
  472. ((Gravitational Equations) ( !#!M!E!T!R!q
  473. (!*torsion !#!T!O!R!S!q )))
  474. ))
  475. (prog ( ![idatl!] )
  476. (foreach!> ![www!] in ![datl!] do
  477. (cond ((atom (cadr ![www!]))
  478. (setq ![idatl!] (cons (cadr ![www!]) ![idatl!] )))))
  479. (global ![idatl!])
  480. (flag ![idatl!] '!+ivar))
  481. %------- Plural ----------------------------------------------------
  482. (flag '(
  483. ![cord!] ![const!] ![fun!]
  484. !#!T !#!b !#!S !#!S!U !#!S!D
  485. !#!A!C!O!N!S!T !#!M!C!O!N!S!T !#!L!C!O!N!S!T
  486. ) '!+pl)
  487. %-------- Equations ----------------------------------------------------
  488. (flag '(
  489. ![sol!]
  490. !#!S!C!q
  491. !#!D!P!q !#!D!C!q
  492. !#!Y!M!F!q !#!Y!M!S!q
  493. !#!M!W!F!q !#!M!W!S!q !#!C!O!q !#!S!D!q !#!M!W!U!q
  494. !#!G!E!O!q
  495. !#!N!C!o !#!G!C!o !#!F!C!o
  496. !#!E!E!q !#!T!E!E!q !#!C!E!E!q
  497. !#!M!E!T!R!q !#!T!O!R!S!q
  498. ) '!+equ)
  499. %-------- Total Enargy-Momentum and Spin -------------------------------
  500. (setq ![tlst!] '( !#!T!D!I !#!T!E!M !#!T!Y!M !#!T!S!C!L!M!I!N
  501. !#!T!I!F!L !#!T!S!F!L ))
  502. (setq ![slst!] '( !#!S!P!D!I!U !#!S!P!F!L!U ))
  503. %-------- Properties of the Built-In Objects ---------------------------
  504. (put '![sol!] '!=type 0)
  505. % word!!! in =way
  506. % Metric, Farame, Volume ...
  507. (put '!#!T '!=type 1)
  508. (put '!#!T '!=idxl '(t))
  509. (put '!#!T '!=way '( ((By Default) nil (frame0!>) )
  510. ((From Vector Frame) nil (frame1!>) (t !#!D) ) ))
  511. (put '!#!T '!=tex "\theta")
  512. (put '!#!D '!=type -1)
  513. (put '!#!D '!=idxl '(nil))
  514. (put '!#!D '!=way '( ((From Frame)
  515. nil (iframe1!>) !#!V!O!L !#!T ) ))
  516. (put '!#!D '!=tex '("\partial" . 182))
  517. (put '!#!G '!=type 0)
  518. (put '!#!G '!=idxl '(nil nil))
  519. (put '!#!G '!=sidxl '((s 1 2)))
  520. (put '!#!G '!=way '( ((By Default) nil (metr0!>) )
  521. ((From Inverse Metric) nil (metr1!>) (t !#!G!I) ) ))
  522. (put '!#!G '!=tex '!g)
  523. (put '!#!G!I '!=type 0)
  524. (put '!#!G!I '!=idxl '(t t))
  525. (put '!#!G!I '!=sidxl '((s 1 2)))
  526. (put '!#!G!I '!=way '( ((From Metric) nil (imetr1!>) !#!G ) ))
  527. (put '!#!G!I '!=tex '!g)
  528. (put '!#!d!e!t!G '!=type 0)
  529. (put '!#!d!e!t!G '!=way '( (nil nil (detg1!>) !#!G ) ))
  530. (put '!#!d!e!t!G '!=dens '(nil nil nil -2))
  531. (put '!#!d!e!t!G '!=tex '!g)
  532. (put '!#!d!e!t!g '!=type 0)
  533. (put '!#!d!e!t!g '!=way '( (nil nil (dethg1!>) !#!G !#!T ) ))
  534. (put '!#!d!e!t!g '!=dens '(nil -2 nil nil))
  535. (put '!#!d!e!t!g '!=tex '!g)
  536. (put '!#!s!d!e!t!G '!=type 0)
  537. (put '!#!s!d!e!t!G '!=way '((nil nil (sdetg1!>) !#!G ) ))
  538. (put '!#!s!d!e!t!G '!=dens '(nil nil t -1))
  539. (put '!#!s!d!e!t!G '!=tex "\sqrt{-g}")
  540. (put '!#!V!O!L '!=type '![dim!]) % Variable Type !!!
  541. (put '!#!V!O!L '!=way '((nil nil (vol0!>) !#!s!d!e!t!G !#!T ) ))
  542. (put '!#!V!O!L '!=dens '(t nil t nil))
  543. (put '!#!V!O!L '!=tex "\upsilon")
  544. (put '!#!b '!=type 1)
  545. (put '!#!b '!=idxl '((n)))
  546. (put '!#!b '!=way '(((From Frame) nil (base!>) !#!V!O!L !#!T )
  547. ((From Vector Basis) nil (base1!>) (t !#!e) ) ))
  548. (put '!#!e '!=type -1)
  549. (put '!#!e '!=idxl '((n)))
  550. (put '!#!e '!=way '(((From Basis) nil (ibase!>) !#!b ) ))
  551. (put '!#!S '!=type 2)
  552. (put '!#!S '!=idxl '(t t))
  553. (put '!#!S '!=sidxl '((a 1 2)))
  554. (put '!#!S '!=way '((nil nil (makesforms!>) !#!T)))
  555. % Rotation matrices ...
  556. (put '!#!L '!=type 0)
  557. (put '!#!L '!=idxl '(t nil))
  558. (put '!#!L '!=tex '!L)
  559. (put '!#!L!S '!=type 0)
  560. (put '!#!L!S '!=idxl '((u . 1) (uu . 1)))
  561. (put '!#!L!S '!=tex '("\Lambda" . 76))
  562. % Spinorial S-forms ...
  563. (put '!#!S!U '!=type 2)
  564. (put '!#!S!U '!=idxl '((u . 2)))
  565. (put '!#!S!U '!=way '( (nil nil (ssform!> '!#!S!U 2 3) !#!T ) ))
  566. (put '!#!S!U '!=constr '((sp!>)))
  567. (put '!#!S!D '!=type 2)
  568. (put '!#!S!D '!=idxl '((d . 2)))
  569. (put '!#!S!D '!=way '( (nil nil (ssform!> '!#!S!D 3 2) !#!T ) ))
  570. (put '!#!S!D '!=constr '((sp!>)))
  571. % Connection and related objects ...
  572. (flag '( !#!G!A!M!M!A !#!o!m!e!g!a !#!o!m!e!g!a!u !#!o!m!e!g!a!d )
  573. '!+noncov)
  574. (flag '( !#!R!G!A!M!M!A !#!r!o!m!e!g!a !#!r!o!m!e!g!a!u !#!r!o!m!e!g!a!d )
  575. '!+noncov)
  576. (put '!#!G!A!M!M!A '!=type 1)
  577. (put '!#!G!A!M!M!A '!=idxl '(1 0))
  578. (put '!#!G!A!M!M!A '!=way '(
  579. ((From Frame Connection) nil
  580. (gfromo!>) !#!T !#!D !#!o!m!e!g!a )
  581. ))
  582. (flag '(!#!G!A!M!M!A) '!+hconn)
  583. (put '!#!G!A!M!M!A '!=tex '("\Gamma" . 71))
  584. (put '!#!R!G!A!M!M!A '!=type 1)
  585. (put '!#!R!G!A!M!M!A '!=idxl '(1 0))
  586. (put '!#!R!G!A!M!M!A '!=way '(
  587. ((From Riemann Frame Connection) nil
  588. (rgfromro!>) !#!T !#!D !#!r!o!m!e!g!a )
  589. ))
  590. (flag '(!#!R!G!A!M!M!A) '!+hconn)
  591. (put '!#!o!m!e!g!a '!=type 1)
  592. (put '!#!o!m!e!g!a '!=idxl '(t nil))
  593. (put '!#!o!m!e!g!a '!=way '(
  594. (nil nil (connec!>) !#!T !#!D !#!G !#!G!I
  595. (!*torsion !#!T!H!E!T!A)
  596. (!*nonmetr !#!N))
  597. ((From Spinorial Connection) (sp!-n!>)
  598. (ofromos!> '!#!o!m!e!g!a !#!o!m!e!g!a!u !#!o!m!e!g!a!d)
  599. (t !#!o!m!e!g!a!u) !#!o!m!e!g!a!d )
  600. ((From Connection Defect) (tttqandn!>)
  601. (connecplus!> !#!K) !#!T !#!D !#!G !#!G!I (t !#!K))
  602. ((From Contorsion) (tttq!>)
  603. (connecplus!> !#!K!Q) !#!T !#!D !#!G !#!G!I (t !#!K!Q))
  604. ((From Nonmetricity Defect) (tttn!>)
  605. (connecplus!> !#!K!N) !#!T !#!D !#!G !#!G!I (t !#!K!N))
  606. ((From Holonomic Connection) nil
  607. (ofromg!>) !#!T !#!D !#!G!A!M!M!A )
  608. ))
  609. (flag '(!#!o!m!e!g!a) '!+fconn)
  610. (put '!#!r!o!m!e!g!a '!=type 1)
  611. (put '!#!r!o!m!e!g!a '!=idxl '(t nil))
  612. (put '!#!r!o!m!e!g!a '!=way '(
  613. (nil nil (connecplus!> nil) !#!T !#!D !#!G !#!G!I) ))
  614. (put '!#!r!o!m!e!g!a '!=constr '((tttqorn!>)))
  615. (flag '(!#!r!o!m!e!g!a) '!+fconn)
  616. (put '!#!o!m!e!g!a!u '!=type 1)
  617. (put '!#!o!m!e!g!a!u '!=idxl '((u . 2)))
  618. (put '!#!o!m!e!g!a!u '!=way '(
  619. (nil nil (uconnec!>) !#!T !#!S!U !#!V!O!L (!*torsion !#!K!U))
  620. ((By Conjugation) nil
  621. (conj3!> '!#!o!m!e!g!a!u !#!o!m!e!g!a!d) !#!o!m!e!g!a!d)
  622. ((From Frame Connection) nil
  623. (oufromo!> '!#!o!m!e!g!a!u !#!o!m!e!g!a) !#!o!m!e!g!a )
  624. ))
  625. (put '!#!o!m!e!g!a!u '!=tex "\omega")
  626. (put '!#!o!m!e!g!a!u '!=constr '((sp!-n!>)))
  627. (flag '(!#!o!m!e!g!a!u) '!+uconn)
  628. (put '!#!o!m!e!g!a!d '!=type 1)
  629. (put '!#!o!m!e!g!a!d '!=idxl '((d . 2)))
  630. (put '!#!o!m!e!g!a!d '!=way '(
  631. (nil nil (dconnec!>) !#!T !#!S!D !#!V!O!L (!*torsion !#!K!D))
  632. ((By Conjugation) nil
  633. (conj3!> '!#!o!m!e!g!a!d !#!o!m!e!g!a!u) !#!o!m!e!g!a!u)
  634. ((From Frame Connection) nil
  635. (odfromo!> '!#!o!m!e!g!a!d !#!o!m!e!g!a) !#!o!m!e!g!a )
  636. ))
  637. (put '!#!o!m!e!g!a!d '!=tex "\omega")
  638. (put '!#!o!m!e!g!a!d '!=constr '((sp!-n!>)))
  639. (flag '(!#!o!m!e!g!a!d) '!+dconn)
  640. (put '!#!r!o!m!e!g!a!u '!=type 1)
  641. (put '!#!r!o!m!e!g!a!u '!=idxl '((u . 2)))
  642. (put '!#!r!o!m!e!g!a!u '!=way '(
  643. (nil nil (ruconnec!>) !#!T !#!S!U !#!V!O!L) ))
  644. (put '!#!r!o!m!e!g!a!u '!=constr '((tttqorn!>) (sp!>)))
  645. (flag '(!#!r!o!m!e!g!a!u) '!+uconn)
  646. (put '!#!r!o!m!e!g!a!d '!=type 1)
  647. (put '!#!r!o!m!e!g!a!d '!=idxl '((d . 2)))
  648. (put '!#!r!o!m!e!g!a!d '!=way '(
  649. (nil nil (rdconnec!>) !#!T !#!S!D !#!V!O!L) ))
  650. (put '!#!r!o!m!e!g!a!d '!=constr '((tttqorn!>) (sp!>)))
  651. (flag '(!#!r!o!m!e!g!a!d) '!+dconn)
  652. % Torsion ...
  653. (put '!#!T!H!E!T!A '!=type 2)
  654. (put '!#!T!H!E!T!A '!=idxl '(t))
  655. (put '!#!T!H!E!T!A '!=constr '((tttq!>)))
  656. (put '!#!T!H!E!T!A '!=way '(
  657. ((From Connection Defect) (tttqandn!>) (qfromk!> '!#!K) !#!T !#!K )
  658. ((From Contorsion) (tttq!>) (qfromk!> '!#!K!Q) !#!T !#!K!Q )
  659. ))
  660. (put '!#!T!H!E!T!A '!=tex '("\Theta" . 81))
  661. (put '!#!Q!Q '!=type 1)
  662. (put '!#!Q!Q '!=way '((nil nil (qqq!>) !#!T!H!E!T!A !#!D )))
  663. (put '!#!Q!Q '!=constr '((tttq!>)))
  664. (put '!#!Q!Q!A '!=type 1)
  665. (put '!#!Q!Q!A '!=way '((nil nil (qqqa!>) !#!T!H!E!T!A !#!T )))
  666. (put '!#!Q!Q!A '!=constr '((dg2!>)(tttq!>)))
  667. (put '!#!K!Q '!=type 1)
  668. (put '!#!K!Q '!=idxl '(t nil))
  669. (put '!#!K!Q '!=way '(
  670. ((From Torsion) nil (contor!>) !#!T !#!D !#!G !#!G!I !#!T!H!E!T!A )
  671. ((From Spinorial Contorsion) (sp!>)
  672. (ofromos!> '!#!K!Q !#!K!U !#!K!D) (t !#!K!U) (t !#!K!D) )
  673. ))
  674. (put '!#!K!Q '!=constr '((tttq!>)))
  675. (put '!#!K!U '!=type 1)
  676. (put '!#!K!U '!=idxl '((u . 2)))
  677. (put '!#!K!U '!=way '(
  678. ((From Contorsion) (sp!>) (oufromo!> '!#!K!U !#!K!Q) !#!K!Q)
  679. ((By Conjugation) nil (conj3!> '!#!K!U !#!K!D) (t !#!K!D))
  680. ))
  681. (put '!#!K!U '!=constr '((tttq!>)(sp!>)))
  682. (put '!#!K!D '!=type 1)
  683. (put '!#!K!D '!=idxl '((d . 2)))
  684. (put '!#!K!D '!=way '(
  685. ((From Contorsion) (sp!>) (odfromo!> '!#!K!D !#!K!Q) !#!K!Q)
  686. ((By Conjugation) nil (conj3!> '!#!K!D !#!K!U) (t !#!K!U))
  687. ))
  688. (put '!#!K!D '!=constr '((tttq!>)(sp!>)))
  689. (put '!#!Q!T '!=type 0)
  690. (put '!#!Q!T '!=idxl '(t))
  691. (put '!#!Q!T '!=way '(
  692. ((From Torsion using Spinors) (sp!>) (qtfromthsp!>)
  693. !#!T!H!E!T!A !#!S!U !#!S!D !#!V!O!L )
  694. ((From Torsion Trace 1 - form) nil (qtfromqq!>)
  695. !#!Q!Q !#!D !#!G!I )
  696. ))
  697. (put '!#!Q!T '!=constr '((tttq!>)))
  698. (put '!#!Q!P '!=type 0)
  699. (put '!#!Q!P '!=idxl '(t))
  700. (put '!#!Q!P '!=way '(
  701. ((From Torsion using Spinors) (sp!>) (qpfromthsp!>)
  702. !#!T!H!E!T!A !#!S!U !#!S!D !#!V!O!L )
  703. ((From Antisymmetric Torsion 3 - form) (ttt4!>) (qpfromqqa!>)
  704. !#!Q!Q!A !#!D !#!G!I !#!T !#!G )
  705. ))
  706. (put '!#!Q!P '!=constr '((tttq!>)(ttt4!>)))
  707. (put '!#!Q!C '!=type 0)
  708. (put '!#!Q!C '!=idxl '((u . 3)(d . 1)))
  709. (put '!#!Q!C '!=way '(
  710. ((From Torsion) (sp!>) (qcfromth!>) !#!T!H!E!T!A !#!S!U !#!V!O!L) ))
  711. (put '!#!Q!C '!=constr '((tttq!>)(sp!>)))
  712. (put '!#!T!H!Q!C '!=type 2)
  713. (put '!#!T!H!Q!C '!=idxl '(t))
  714. (put '!#!T!H!Q!C '!=way '(
  715. (nil nil (qcfcomp!>) !#!T!H!E!T!A !#!T!H!Q!T !#!T!H!Q!A )))
  716. (put '!#!T!H!Q!C '!=constr '((tttq!>)(dg2!>)))
  717. (put '!#!T!H!Q!T '!=type 2)
  718. (put '!#!T!H!Q!T '!=idxl '(t))
  719. (put '!#!T!H!Q!T '!=way '(
  720. (nil nil (qtfcomp!>) !#!Q!Q !#!T )))
  721. (put '!#!T!H!Q!T '!=constr '((tttq!>)))
  722. (put '!#!T!H!Q!A '!=type 2)
  723. (put '!#!T!H!Q!A '!=idxl '(t))
  724. (put '!#!T!H!Q!A '!=way '(
  725. (nil nil (qafcomp!>) !#!Q!Q!A !#!D !#!G!I )))
  726. (put '!#!T!H!Q!A '!=constr '((tttq!>)(dg2!>)))
  727. (put '!#!T!H!Q!C!U '!=type 2)
  728. (put '!#!T!H!Q!C!U '!=idxl '(t))
  729. (put '!#!T!H!Q!C!U '!=way '(
  730. (nil (sp!>) (trfr!> '!#!T!H!Q!C!U 'gcf!> '!#!S!U) !#!S!U !#!Q!C ) ))
  731. (put '!#!T!H!Q!C!U '!=constr '((sp!>)(tttq!>)))
  732. (put '!#!T!H!Q!T!U '!=type 2)
  733. (put '!#!T!H!Q!T!U '!=idxl '(t))
  734. (put '!#!T!H!Q!T!U '!=way '(
  735. (nil (sp!>) (trfr!> '!#!T!H!Q!T!U 'gqf!> '!#!S!U) !#!S!U !#!Q!T ) ))
  736. (put '!#!T!H!Q!T!U '!=constr '((sp!>)(tttq!>)))
  737. (put '!#!T!H!Q!A!U '!=type 2)
  738. (put '!#!T!H!Q!A!U '!=idxl '(t))
  739. (put '!#!T!H!Q!A!U '!=way '(
  740. (nil (sp!>) (trfr!> '!#!T!H!Q!A!U 'gpf!> '!#!S!U) !#!S!U !#!Q!P ) ))
  741. (put '!#!T!H!Q!A!U '!=constr '((sp!>)(tttq!>)))
  742. % Nonmetricity ...
  743. (put '!#!N '!=type 1)
  744. (put '!#!N '!=idxl '(nil nil))
  745. (put '!#!N '!=sidxl '((s 1 2)))
  746. (put '!#!N '!=way '(
  747. ((From Connection Defect) (tttqandn!>) (nfromk!> '!#!K) !#!G !#!K )
  748. ((From Nonmetricity Defect) (tttn!>) (nfromk!> '!#!K!N) !#!G !#!K!N )
  749. ))
  750. (put '!#!N '!=constr '((tttn!>)))
  751. (put '!#!K!N '!=type 1)
  752. (put '!#!K!N '!=idxl '(t nil))
  753. (put '!#!K!N '!=way '(
  754. ((From Nonmetricity) nil (nondef!>) !#!T !#!D !#!G !#!G!I !#!N )
  755. ))
  756. (put '!#!K!N '!=constr '((tttn!>)))
  757. (put '!#!K '!=type 1)
  758. (put '!#!K '!=idxl '(t nil))
  759. (put '!#!K '!=way '(
  760. (nil nil (conndef!>) !#!T !#!D !#!G !#!G!I !#!T!H!E!T!A !#!N )
  761. ))
  762. (put '!#!K '!=constr '((tttqandn!>)))
  763. (put '!#!N!N!W '!=type 1)
  764. (put '!#!N!N!W '!=way '( (nil nil (compnnw!>) !#!N !#!G!I )) )
  765. (put '!#!N!N!W '!=constr '((tttn!>)))
  766. (put '!#!N!N!T '!=type 1)
  767. (put '!#!N!N!T '!=way '(
  768. (nil nil (compnnt!>) !#!N !#!G!I !#!D !#!T !#!N!N!W )) )
  769. (put '!#!N!N!T '!=constr '((tttn!>)))
  770. (put '!#!N!W '!=type 1)
  771. (put '!#!N!W '!=idxl '(nil nil))
  772. (put '!#!N!W '!=sidxl '((s 1 2)))
  773. (put '!#!N!W '!=way '(
  774. (nil nil (compnw!>) !#!G !#!N!N!W )) )
  775. (put '!#!N!W '!=constr '((tttn!>)))
  776. (put '!#!N!T '!=type 1)
  777. (put '!#!N!T '!=idxl '(nil nil))
  778. (put '!#!N!T '!=sidxl '((s 1 2)))
  779. (put '!#!N!T '!=way '(
  780. (nil nil (compnt!>) !#!G !#!T !#!N!N!T )) )
  781. (put '!#!N!T '!=constr '((tttn!>)))
  782. (put '!#!N!A '!=type 1)
  783. (put '!#!N!A '!=idxl '(nil nil))
  784. (put '!#!N!A '!=sidxl '((s 1 2)))
  785. (put '!#!N!A '!=way '(
  786. (nil nil (compna!>) !#!D !#!T !#!N !#!N!W !#!N!T )))
  787. (put '!#!N!A '!=constr '((tttn!>)(dg2!>)))
  788. (put '!#!N!C '!=type 1)
  789. (put '!#!N!C '!=idxl '(nil nil))
  790. (put '!#!N!C '!=sidxl '((s 1 2)))
  791. (put '!#!N!C '!=way '(
  792. (nil nil (compnc!>) !#!N ((geq ![dim!] 3) !#!N!A) !#!N!T !#!N!W )))
  793. (put '!#!N!C '!=constr '((tttn!>)))
  794. % Curvature ...
  795. (put '!#!O!M!E!G!A '!=type 2)
  796. (put '!#!O!M!E!G!A '!=idxl '(t nil))
  797. (put '!#!O!M!E!G!A '!=way '(
  798. (nil nil (curvature!>) !#!o!m!e!g!a )
  799. ((From Spinorial Curvature) (sp!-n!>)
  800. (ofromos!> '!#!O!M!E!G!A !#!O!M!E!G!A!U !#!O!M!E!G!A!D)
  801. (t !#!O!M!E!G!A!U) !#!O!M!E!G!A!D )
  802. ))
  803. (put '!#!O!M!E!G!A '!=tex '("\Omega" . 87))
  804. (put '!#!O!M!E!G!A!U '!=type 2)
  805. (put '!#!O!M!E!G!A!U '!=idxl '((u . 2)))
  806. (put '!#!O!M!E!G!A!U '!=way '(
  807. (nil nil (scurvature!> '!#!O!M!E!G!A!U !#!o!m!e!g!a!u)
  808. !#!o!m!e!g!a!u )
  809. ((By Conjugation) nil
  810. (conj3!> '!#!O!M!E!G!A!U !#!O!M!E!G!A!D) !#!O!M!E!G!A!D)
  811. ((From Curvature) nil
  812. (oufromo!> '!#!O!M!E!G!A!U !#!O!M!E!G!A) !#!O!M!E!G!A )
  813. ))
  814. (put '!#!O!M!E!G!A!U '!=constr '((sp!-n!>)))
  815. (put '!#!O!M!E!G!A!U '!=tex '("\Omega" . 87))
  816. (put '!#!O!M!E!G!A!D '!=type 2)
  817. (put '!#!O!M!E!G!A!D '!=idxl '((d . 2)))
  818. (put '!#!O!M!E!G!A!D '!=way '(
  819. (nil nil (scurvature!> '!#!O!M!E!G!A!D !#!o!m!e!g!a!d)
  820. !#!o!m!e!g!a!d )
  821. ((By Conjugation) nil
  822. (conj3!> '!#!O!M!E!G!A!D !#!O!M!E!G!A!U) !#!O!M!E!G!A!U)
  823. ((From Curvature) nil
  824. (odfromo!> '!#!O!M!E!G!A!D !#!O!M!E!G!A) !#!O!M!E!G!A )
  825. ))
  826. (put '!#!O!M!E!G!A!D '!=constr '((sp!-n!>)))
  827. (put '!#!O!M!E!G!A!D '!=tex '("\Omega" . 87))
  828. (put '!#!R!I!M '!=type 0)
  829. (put '!#!R!I!M '!=idxl '(t nil nil nil))
  830. (put '!#!R!I!M '!=sidxl '((a 3 4)))
  831. (put '!#!R!I!M '!=way '(
  832. (nil nil (riemm!>) !#!D !#!O!M!E!G!A ) ))
  833. (put '!#!R!I!M '!=tex '!R)
  834. (put '!#!R!I!C '!=type 0)
  835. (put '!#!R!I!C '!=idxl '( nil nil))
  836. (put '!#!R!I!C '!=sidxl '((s 1 2)))
  837. (put '!#!R!I!C '!=way '(
  838. ((From Curvature) nil (riccio!>) !#!D !#!G !#!G!I !#!O!M!E!G!A )
  839. ((From Riemann Tensor) nil (ricci!>) !#!R!I!M ) ))
  840. (put '!#!R!I!C '!=tex '!R)
  841. (put '!#!R!I!C!A '!=type 0)
  842. (put '!#!R!I!C!A '!=idxl '( nil nil))
  843. (put '!#!R!I!C!A '!=way '(
  844. ((From Curvature) nil (riccioa!>) !#!D !#!G !#!G!I !#!O!M!E!G!A )))
  845. (put '!#!R!I!C!A '!=constr '((tttn!>)))
  846. (put '!#!R!R '!=type 0)
  847. (put '!#!R!R '!=way '(
  848. ((From A - Ricci Tensor) (tttn!>) (rscalara!>) !#!G!I (t !#!R!I!C!A) )
  849. ((From Ricci Tensor) nil (rscalar!>) !#!G!I !#!R!I!C )
  850. ((From Spinor Curvature) (sp!-n!>)
  851. (rrsp!>) (t !#!O!M!E!G!A!U) !#!S!U !#!V!O!L )
  852. ))
  853. (put '!#!R!R '!=tex '!R)
  854. (put '!#!G!T '!=type 0)
  855. (put '!#!G!T '!=idxl '( nil nil))
  856. (put '!#!G!T '!=sidxl '((s 1 2)))
  857. (put '!#!G!T '!=way '(
  858. (nil nil (gtensor!>) !#!G !#!R!R !#!R!I!C ) ))
  859. (put '!#!R!W '!=type 0)
  860. (put '!#!R!W '!=idxl '((u . 4)))
  861. (put '!#!R!W '!=way '(
  862. ((From Spinor Curvature) nil (rwsp!>) !#!O!M!E!G!A!U !#!S!U !#!V!O!L)))
  863. (put '!#!R!W '!=tex '!C)
  864. (put '!#!R!W '!=constr '((sp!-n!>)))
  865. (put '!#!R!C '!=type 0)
  866. (put '!#!R!C '!=idxl '((u . 2)(d . 2)))
  867. (put '!#!R!C '!=sidxl '((h 1 2)))
  868. (put '!#!R!C '!=way '(
  869. ((From Spinor Curvature) nil (rcsp!>)
  870. !#!O!M!E!G!A!U !#!S!D !#!V!O!L
  871. (!*torsion !#!O!M!E!G!A!D !#!S!U))))
  872. (put '!#!R!C '!=tex '!C)
  873. (put '!#!R!C '!=constr '((sp!-n!>)))
  874. (put '!#!R!A '!=type 0)
  875. (put '!#!R!A '!=idxl '((u . 2)))
  876. (put '!#!R!A '!=way '(
  877. ((From Spinor Curvature) nil (rasp!>) !#!O!M!E!G!A!U !#!S!U !#!V!O!L)))
  878. (put '!#!R!A '!=tex '!A)
  879. (put '!#!R!A '!=constr '((tttq!>)(sp!-n!>)))
  880. (put '!#!R!B '!=type 0)
  881. (put '!#!R!B '!=idxl '((u . 2)(d . 2)))
  882. (put '!#!R!B '!=sidxl '((h 1 2)))
  883. (put '!#!R!B '!=way '(
  884. ((From Spinor Curvature) nil
  885. (rbsp!>) !#!O!M!E!G!A!U !#!O!M!E!G!A!D !#!S!U !#!S!D !#!V!O!L)))
  886. (put '!#!R!B '!=tex '!B)
  887. (put '!#!R!B '!=constr '((tttq!>)(sp!-n!>)))
  888. (put '!#!R!D '!=type 0)
  889. (put '!#!R!D '!=way '(
  890. ((From Spinor Curvature) (sp!-n!>)
  891. (rdsp!>) !#!O!M!E!G!A!U !#!S!U !#!V!O!L)))
  892. (put '!#!R!D '!=tex '!D)
  893. (put '!#!R!D '!=constr '((tttq!>)(ttt4!>)))
  894. (put '!#!O!M!W!U '!=type 2)
  895. (put '!#!O!M!W!U '!=idxl '((u . 2)))
  896. (put '!#!O!M!W!U '!=way '(
  897. (nil nil (crfr!> '!#!O!M!W!U 'gwf!> '!#!S!U) !#!S!U !#!R!W ) ))
  898. (put '!#!O!M!W!U '!=constr '((sp!-n!>)))
  899. (put '!#!O!M!C!U '!=type 2)
  900. (put '!#!O!M!C!U '!=idxl '((u . 2)))
  901. (put '!#!O!M!C!U '!=way '(
  902. (nil nil (crfr!> '!#!O!M!C!U 'gtf!> '!#!S!D) !#!S!D !#!R!C ) ))
  903. (put '!#!O!M!C!U '!=constr '((sp!-n!>)))
  904. (put '!#!O!M!R!U '!=type 2)
  905. (put '!#!O!M!R!U '!=idxl '((u . 2)))
  906. (put '!#!O!M!R!U '!=way '(
  907. (nil nil (crfr!> '!#!O!M!R!U 'gsf!> '!#!S!U) !#!S!U !#!R!R ) ))
  908. (put '!#!O!M!R!U '!=constr '((sp!-n!>)))
  909. (put '!#!O!M!A!U '!=type 2)
  910. (put '!#!O!M!A!U '!=idxl '((u . 2)))
  911. (put '!#!O!M!A!U '!=way '(
  912. (nil nil (crfr!> '!#!O!M!A!U 'gaf!> '!#!S!U) !#!S!U !#!R!A ) ))
  913. (put '!#!O!M!A!U '!=constr '((sp!-n!>)(tttqnotn!>)))
  914. (put '!#!O!M!B!U '!=type 2)
  915. (put '!#!O!M!B!U '!=idxl '((u . 2)))
  916. (put '!#!O!M!B!U '!=way '(
  917. (nil nil (crfr!> '!#!O!M!B!U 'gbf!> '!#!S!D) !#!S!D !#!R!B ) ))
  918. (put '!#!O!M!B!U '!=constr '((sp!-n!>)(tttqnotn!>)))
  919. (put '!#!O!M!D!U '!=type 2)
  920. (put '!#!O!M!D!U '!=idxl '((u . 2)))
  921. (put '!#!O!M!D!U '!=way '(
  922. (nil nil (crfr!> '!#!O!M!D!U 'gdf!> '!#!S!U) !#!S!U !#!R!D ) ))
  923. (put '!#!O!M!D!U '!=constr '((sp!-n!>)(tttqnotn!>)))
  924. (put '!#!O!M!W '!=type 2)
  925. (put '!#!O!M!W '!=idxl '(nil nil))
  926. (put '!#!O!M!W '!=sidxl '((a 1 2)))
  927. (put '!#!O!M!W '!=way '(
  928. (nil nil (mkrwf!>) !#!G !#!O!M!E!G!A !#!O!M!C !#!O!M!R
  929. ((or !*torsion !*nonmetr) !#!O!M!A !#!O!M!B !#!O!M!D )
  930. )))
  931. (put '!#!O!M!W '!=constr '((dg3!>)))
  932. (put '!#!O!M!C '!=type 2)
  933. (put '!#!O!M!C '!=idxl '(nil nil))
  934. (put '!#!O!M!C '!=sidxl '((a 1 2)))
  935. (put '!#!O!M!C '!=way '(
  936. (nil nil (mkrcf!>) !#!G !#!T (!*nonmetr !#!R!I!C!A)
  937. ((not !*nonmetr) !#!R!I!C) !#!R!R )))
  938. (put '!#!O!M!C '!=constr '((dg2!>)))
  939. (put '!#!O!M!R '!=type 2)
  940. (put '!#!O!M!R '!=idxl '(nil nil))
  941. (put '!#!O!M!R '!=sidxl '((a 1 2)))
  942. (put '!#!O!M!R '!=way '(
  943. (nil nil (mkrrf!>) !#!G !#!S !#!R!R )))
  944. (put '!#!O!M!R '!=sidxl '((a 1 2)))
  945. (put '!#!O!M!A '!=type 2)
  946. (put '!#!O!M!A '!=idxl '(nil nil))
  947. (put '!#!O!M!A '!=sidxl '((a 1 2)))
  948. (put '!#!O!M!A '!=way '(
  949. (nil nil (mkraf!>) !#!G !#!T (!*nonmetr !#!R!I!C!A)
  950. ((not !*nonmetr) !#!R!I!C) )))
  951. (put '!#!O!M!A '!=constr '((tttqorn!>)(dg2!>)))
  952. (put '!#!O!M!B '!=type 2)
  953. (put '!#!O!M!B '!=idxl '(nil nil))
  954. (put '!#!O!M!B '!=sidxl '((a 1 2)))
  955. (put '!#!O!M!B '!=way '(
  956. (nil nil (mkrbf!>) !#!G !#!T !#!D !#!O!M!E!G!A
  957. !#!O!M!R !#!O!M!C !#!O!M!A !#!O!M!D )))
  958. (put '!#!O!M!B '!=constr '((tttqorn!>)(dg3!>)))
  959. (put '!#!O!M!D '!=type 2)
  960. (put '!#!O!M!D '!=idxl '(nil nil))
  961. (put '!#!O!M!D '!=sidxl '((a 1 2)))
  962. (put '!#!O!M!D '!=way '(
  963. (nil nil (mkrdf!>) !#!G !#!D !#!S !#!T !#!O!M!E!G!A )))
  964. (put '!#!O!M!D '!=constr '((tttqorn!>)(dg3!>)))
  965. (put '!#!R!I!C!S '!=type 0)
  966. (put '!#!R!I!C!S '!=idxl '(nil nil))
  967. (put '!#!R!I!C!S '!=way '(
  968. ((From Curvature) nil (riccios!>) !#!D !#!G !#!G!I !#!O!M!E!G!A )))
  969. (put '!#!R!I!C!S '!=constr '((tttn!>)))
  970. (put '!#!O!M!E!G!A!H '!=type 2)
  971. (put '!#!O!M!E!G!A!H '!=way '(
  972. (nil nil (mkomegah!>) !#!O!M!E!G!A )))
  973. (put '!#!O!M!E!G!A!H '!=constr '((tttn!>)))
  974. (put '!#!O!S!H '!=type 2)
  975. (put '!#!O!S!H '!=idxl '(nil nil))
  976. (put '!#!O!S!H '!=sidxl '((s 1 2)))
  977. (put '!#!O!S!H '!=way '(
  978. (nil (deq2!>) (mkrshf2!>) !#!G !#!T !#!O!M!E!G!A #!O!S!C )
  979. (nil (dg2!>) (mkrshf!>) !#!G !#!O!M!E!G!A!H )
  980. % (nil (dg2!>) (mkrshf!>) !#!G !#!T !#!O!M!E!G!A!H )
  981. ))
  982. (put '!#!O!S!H '!=constr '((tttn!>)))
  983. (put '!#!O!S!A '!=type 2)
  984. (put '!#!O!S!A '!=idxl '(nil nil))
  985. (put '!#!O!S!A '!=sidxl '((s 1 2)))
  986. (put '!#!O!S!A '!=way '(
  987. (nil nil (mkrsaf!>) !#!G !#!T !#!S !#!D !#!R!I!C!S !#!O!M!E!G!A!H )
  988. % (nil nil (mkrsaf!>) !#!G !#!T !#!S !#!R!I!C!S )
  989. ))
  990. (put '!#!O!S!A '!=constr '((tttn!>)(dg2!>)))
  991. (put '!#!O!S!C '!=type 2)
  992. (put '!#!O!S!C '!=idxl '(nil nil))
  993. (put '!#!O!S!C '!=sidxl '((s 1 2)))
  994. (put '!#!O!S!C '!=way '(
  995. (nil nil (mkrscf!>) !#!G !#!T !#!S !#!R!I!C!S )))
  996. (put '!#!O!S!C '!=constr '((tttn!>)))
  997. (put '!#!O!S!V '!=type 2)
  998. (put '!#!O!S!V '!=idxl '(nil nil))
  999. (put '!#!O!S!V '!=sidxl '((s 1 2)))
  1000. (put '!#!O!S!V '!=way '(
  1001. (nil nil (mkrsvf!>) !#!T !#!D !#!G !#!O!S!H !#!O!S!A !#!O!S!C )))
  1002. (put '!#!O!S!V '!=constr '((tttn!>)(dg3!>)))
  1003. (put '!#!O!S!U '!=type 2)
  1004. (put '!#!O!S!U '!=idxl '(nil nil))
  1005. (put '!#!O!S!U '!=sidxl '((s 1 2)))
  1006. (put '!#!O!S!U '!=way '(
  1007. (nil nil (mkrsuf!>) !#!G !#!O!M!E!G!A
  1008. ((geq ![dim!] 4) !#!O!S!V )
  1009. !#!O!S!H !#!O!S!A !#!O!S!C )))
  1010. (put '!#!O!S!U '!=constr '((tttn!>)(dg2!>)))
  1011. % Dirac field ...
  1012. (put '!#!P!H!I '!=type 0)
  1013. (put '!#!P!H!I '!=idxl '((u . 1)))
  1014. (put '!#!C!H!I '!=type 0)
  1015. (put '!#!C!H!I '!=idxl '((u . 1)))
  1016. (put '!#!P!H!I '!=tex "\phi")
  1017. (put '!#!C!H!I '!=tex "\chi")
  1018. (put '!#!P!H!I '!=constr '((sp!-n!>)))
  1019. (put '!#!C!H!I '!=constr '((sp!-n!>)))
  1020. (put '!#!D!A!C!T '!=type 4)
  1021. (put '!#!D!A!C!T '!=way '(
  1022. (nil (sp!-n!>) (dact!>)
  1023. !#!P!H!I !#!C!H!I !#!D !#!T !#!o!m!e!g!a!u !#!G
  1024. !#!V!O!L !#!s!d!e!t!G !#!G!I (!*torsion !#!Q!Q)) ))
  1025. (put '!#!D!A!C!T '!=dens '(t nil t nil))
  1026. (put '!#!T!D!I '!=type 0)
  1027. (put '!#!T!D!I '!=idxl '(nil nil))
  1028. (put '!#!T!D!I '!=sidxl '((s 1 2)))
  1029. (put '!#!T!D!I '!=way '(
  1030. (nil (sp!-n!>) (tdi!>)
  1031. !#!T !#!D !#!G !#!G!I !#!s!d!e!t!G !#!V!O!L
  1032. !#!D!A!C!T !#!P!H!I !#!C!H!I !#!o!m!e!g!a!u ) ))
  1033. (put '!#!T!D!I '!=constr '((tttnotn!>)))
  1034. (put '!#!S!P!D!I!U '!=type 3)
  1035. (put '!#!S!P!D!I!U '!=idxl '((u . 2)))
  1036. (put '!#!S!P!D!I!U '!=way '(
  1037. (nil nil (spinsd!>)
  1038. !#!C!H!I !#!P!H!I !#!T !#!s!d!e!t!G !#!G !#!V!O!L ) ))
  1039. (put '!#!S!P!D!I!U '!=constr '((sp!-n!>)))
  1040. (put '!#!D!P!q '!=type 0)
  1041. (put '!#!D!P!q '!=idxl '((d . 1)))
  1042. (put '!#!D!P!q '!=way '(
  1043. (nil nil (dequ!> !#!P!H!I !#!C!H!I '!#!D!P!q t)
  1044. !#!P!H!I !#!C!H!I !#!D !#!o!m!e!g!a!u (!*torsion !#!Q!Q)) ))
  1045. (put '!#!D!P!q '!=constr '((sp!-n!>)))
  1046. (put '!#!D!C!q '!=type 0)
  1047. (put '!#!D!C!q '!=idxl '((d . 1)))
  1048. (put '!#!D!C!q '!=way '(
  1049. (nil nil (dequ!> !#!C!H!I !#!P!H!I '!#!D!C!q nil)
  1050. !#!P!H!I !#!C!H!I !#!D !#!o!m!e!g!a!u (!*torsion !#!Q!Q)) ))
  1051. (put '!#!D!C!q '!=constr '((sp!-n!>)))
  1052. % EM field ...
  1053. (put '!#!A '!=type 1)
  1054. (put '!#!A '!=constr '((dg2!>)))
  1055. (put '!#!F!F '!=type 2)
  1056. (put '!#!F!F '!=way '(
  1057. ((From EM Potential) nil (fffroma!>) !#!A)
  1058. ((From EM Tensor) nil (fffromft!>) !#!S (t !#!F!T))
  1059. ((From Complex EM 2 - form) (sp!>) (fffromffu!>) (t !#!F!F!U))
  1060. ))
  1061. (put '!#!F!F '!=constr '((dg2!>)))
  1062. (put '!#!J '!=type 1)
  1063. (put '!#!J '!=way '(
  1064. ((From Dirac Spinor) (sp!>) (dcurr!>) !#!P!H!I !#!C!H!I !#!T ) ))
  1065. (put '!#!J '!=constr '((dg2!>)))
  1066. (put '!#!F!T '!=type 0)
  1067. (put '!#!F!T '!=idxl '(nil nil))
  1068. (put '!#!F!T '!=sidxl '((a 1 2)))
  1069. (put '!#!F!T '!=way '(
  1070. (nil nil (ftfromff!>) !#!D !#!F!F) ))
  1071. (put '!#!F!T '!=constr '((dg2!>)))
  1072. (put '!#!E!M!A!C!T '!=type '![dim!])
  1073. (put '!#!E!M!A!C!T '!=way '(
  1074. (nil nil (emact!>) !#!F!F !#!V!O!L !#!s!d!e!t!G !#!T !#!G )
  1075. ))
  1076. (put '!#!E!M!A!C!T '!=constr '((dg2!>)))
  1077. (put '!#!E!M!A!C!T '!=dens '(t nil t nil))
  1078. (put '!#!T!E!M '!=type 0)
  1079. (put '!#!T!E!M '!=idxl '(nil nil))
  1080. (put '!#!T!E!M '!=sidxl '((s 1 2)))
  1081. (put '!#!T!E!M '!=way '(
  1082. (nil nil (tembydef!>)
  1083. !#!G!I !#!G !#!V!O!L !#!F!T !#!E!M!A!C!T )
  1084. ))
  1085. (put '!#!T!E!M '!=constr '((dg2!>)))
  1086. (put '!#!M!W!F!q '!=type '![dim1!])
  1087. (put '!#!M!W!F!q '!=way '(
  1088. (nil nil (firstmw!>) !#!T !#!G !#!s!d!e!t!G !#!V!O!L !#!F!F ) ))
  1089. (put '!#!M!W!F!q '!=constr '((dg2!>)))
  1090. (put '!#!M!W!S!q '!=type 3)
  1091. (put '!#!M!W!S!q '!=way '(
  1092. (nil nil (secondmw!>) !#!F!F )))
  1093. (put '!#!M!W!S!q '!=constr '((dg2!>)))
  1094. (put '!#!C!O!q '!=type '![dim!])
  1095. (put '!#!C!O!q '!=way '(
  1096. (nil nil (contineq!>) !#!T !#!G !#!s!d!e!t!G !#!V!O!L !#!J ) ))
  1097. (put '!#!C!O!q '!=constr '((dg2!>)))
  1098. (put '!#!S!C!F '!=type 0)
  1099. (put '!#!S!C!F '!=way '(
  1100. (nil (ttt4!>) (firstscal!>)
  1101. !#!T !#!G !#!s!d!e!t!G !#!V!O!L !#!F!F ) ))
  1102. (put '!#!S!C!F '!=constr '((ttt4!>)))
  1103. (put '!#!S!C!S '!=type 0)
  1104. (put '!#!S!C!S '!=way '(
  1105. (nil (ttt4!>) (secondscal!>)
  1106. !#!T !#!G !#!s!d!e!t!G !#!V!O!L !#!F!F ) ))
  1107. (put '!#!S!C!F '!=constr '((ttt4!>)))
  1108. (put '!#!F!I!U '!=type 0)
  1109. (put '!#!F!I!U '!=idxl '((u . 2)))
  1110. (put '!#!F!I!U '!=way '(
  1111. ((From Complex EM 2 - form) nil (fiufromffu!>) !#!S!U !#!V!O!L !#!F!F!U )
  1112. ((From EM 2 - form) nil (fiufromff!>) !#!S!U !#!V!O!L !#!F!F )
  1113. ))
  1114. (put '!#!F!I!U '!=constr '((sp!>)))
  1115. (put '!#!F!I!U '!=tex '("\Phi" . 70))
  1116. (put '!#!S!D!q '!=type 4)
  1117. (put '!#!S!D!q '!=idxl '((d . 2)))
  1118. (put '!#!S!D!q '!=way '(
  1119. (nil nil (sduality!>) !#!S!D !#!F!F!U )
  1120. ))
  1121. (put '!#!S!D!q '!=constr '((sp!>)))
  1122. (put '!#!F!F!U '!=type 2)
  1123. (put '!#!F!F!U '!=way '(
  1124. ((From EM 2 - form) nil (ffufromff!>)
  1125. !#!V!O!L !#!T !#!G !#!s!d!e!t!G !#!F!F )
  1126. ((From EM Spinor) (sp!>) (ffufromfiu!>)
  1127. !#!S!U !#!F!I!U )
  1128. ))
  1129. (put '!#!F!F!U '!=constr '((sp!>)))
  1130. (put '!#!F!F!U '!=tex '("\Phi" . 70))
  1131. (put '!#!S!C!U '!=type 0)
  1132. (put '!#!S!C!U '!=way '(
  1133. ((From EM Spinor) nil (scufromfiu!>) !#!F!I!U )
  1134. ((From Complex EM 2 - form) nil (scufromffu!>) !#!V!O!L !#!F!F!U )
  1135. ))
  1136. (put '!#!S!C!U '!=constr '((sp!>)))
  1137. (put '!#!M!W!U!q '!=type 3)
  1138. (put '!#!M!W!U!q '!=way '(
  1139. (nil nil (complexmw!>)
  1140. !#!T !#!G !#!s!d!e!t!G !#!V!O!L !#!F!F!U ) ))
  1141. (put '!#!M!W!U!q '!=constr '((sp!>)))
  1142. (put '!#!T!E!M!S '!=type 0)
  1143. (put '!#!T!E!M!S '!=idxl '((u . 2)(d . 2)))
  1144. (put '!#!T!E!M!S '!=sidxl '((h 1 2)))
  1145. (put '!#!T!E!M!S '!=way '(
  1146. (nil nil (tems!>) !#!F!I!U )))
  1147. (put '!#!T!E!M!S '!=constr '((sp!>)))
  1148. % YM field ...
  1149. (put '!#!A!Y!M '!=type 1)
  1150. (put '!#!A!Y!M '!=idxl '((n . 9)))
  1151. (put '!#!A!Y!M '!=constr '((dg2!>)))
  1152. (put '!#!S!C!O!N!S!T '!=type 0)
  1153. (put '!#!S!C!O!N!S!T '!=idxl '((n . 9)(n . 9)(n . 9)))
  1154. (put '!#!S!C!O!N!S!T '!=sidxl '((a 1 2 3)))
  1155. (put '!#!S!C!O!N!S!T '!=constr '((dg2!>)))
  1156. (put '!#!F!F!Y!M '!=type 2)
  1157. (put '!#!F!F!Y!M '!=idxl '((n . 9)))
  1158. (put '!#!F!F!Y!M '!=way '(
  1159. ((From YM Potential) nil (ffymfromaym!>) !#!A!Y!M !#!S!C!O!N!S!T )
  1160. ((From YM Tensor) nil (ffymfromftym!>) !#!S (t !#!F!T!Y!M))
  1161. ))
  1162. (put '!#!F!F!Y!M '!=constr '((dg2!>)))
  1163. (put '!#!F!T!Y!M '!=type 0)
  1164. (put '!#!F!T!Y!M '!=idxl '((n . 9) nil nil))
  1165. (put '!#!F!T!Y!M '!=sidxl '((a 2 3)))
  1166. (put '!#!F!T!Y!M '!=way '(
  1167. (nil nil (ftymfromffym!>) !#!D !#!F!F!Y!M) ))
  1168. (put '!#!F!T!Y!M '!=constr '((dg2!>)))
  1169. (put '!#!Y!M!A!C!T '!=type '![dim!])
  1170. (put '!#!Y!M!A!C!T '!=way '(
  1171. (nil nil (ymact!>) !#!F!F!Y!M !#!V!O!L !#!s!d!e!t!G !#!T !#!G )
  1172. ))
  1173. (put '!#!Y!M!A!C!T '!=constr '((dg2!>)))
  1174. (put '!#!Y!M!A!C!T '!=dens '(t nil t nil))
  1175. (put '!#!T!Y!M '!=type 0)
  1176. (put '!#!T!Y!M '!=idxl '(nil nil))
  1177. (put '!#!T!Y!M '!=sidxl '((s 1 2)))
  1178. (put '!#!T!Y!M '!=way '(
  1179. (nil nil (tymbydef!>)
  1180. !#!G!I !#!G !#!V!O!L !#!F!T!Y!M !#!Y!M!A!C!T )
  1181. ))
  1182. (put '!#!T!Y!M '!=constr '((dg2!>)))
  1183. (put '!#!Y!M!F!q '!=type '![dim1!])
  1184. (put '!#!Y!M!F!q '!=idxl '((n . 9)))
  1185. (put '!#!Y!M!F!q '!=way '(
  1186. (nil nil (firstym!>)
  1187. !#!T !#!G !#!s!d!e!t!G !#!V!O!L !#!F!F!Y!M !#!S!C!O!N!S!T ) ))
  1188. (put '!#!Y!M!F!q '!=constr '((dg2!>)))
  1189. (put '!#!Y!M!S!q '!=type 3)
  1190. (put '!#!Y!M!S!q '!=idxl '((n . 9)))
  1191. (put '!#!Y!M!S!q '!=way '(
  1192. (nil nil (secondym!>) !#!F!F!Y!M !#!S!C!O!N!S!T ) ))
  1193. (put '!#!Y!M!S!q '!=constr '((dg2!>)))
  1194. % Scalar field ...
  1195. (put '!#!F!I '!=type 0)
  1196. (put '!#!S!A!C!T!M!I!N '!=type '![dim!])
  1197. (put '!#!S!A!C!T!M!I!N '!=way '(
  1198. (nil nil (sactmin!>) !#!F!I !#!V!O!L !#!G!I !#!D )))
  1199. (put '!#!S!A!C!T!M!I!N '!=dens '(t nil t nil))
  1200. (put '!#!S!A!C!T '!=type '![dim!])
  1201. (put '!#!S!A!C!T '!=way '(
  1202. (nil nil (sact!>) !#!F!I !#!V!O!L !#!G!I !#!D
  1203. (!*nonmin !#!R!R !#!A!C!O!N!S!T ) )))
  1204. (put '!#!S!A!C!T '!=dens '(t nil t nil))
  1205. (put '!#!S!C!q '!=type 0)
  1206. (put '!#!S!C!q '!=way '(
  1207. (nil nil (kgeq!>) !#!V!O!L !#!s!d!e!t!G !#!D !#!T !#!F!I
  1208. (!*nonmin !#!A!C!O!N!S!T !#!R!R ))))
  1209. (put '!#!T!S!C!L!M!I!N '!=type 0)
  1210. (put '!#!T!S!C!L!M!I!N '!=idxl '(nil nil))
  1211. (put '!#!T!S!C!L!M!I!N '!=sidxl '((s 1 2)))
  1212. (put '!#!T!S!C!L!M!I!N '!=way '(
  1213. (nil nil (tsclmin!>)
  1214. !#!F!I !#!V!O!L !#!G !#!D !#!S!A!C!T!M!I!N )))
  1215. % Constants ...
  1216. (put '!#!A!C!O!N!S!T '!=type 0)
  1217. (put '!#!A!C!O!N!S!T '!=idxl '((n . 2)))
  1218. (put '!#!A!C!O!N!S!T '!=way '((nil nil (aconst!>))))
  1219. (put '!#!M!C!O!N!S!T '!=type 0)
  1220. (put '!#!M!C!O!N!S!T '!=idxl '((n . 3)))
  1221. (put '!#!M!C!O!N!S!T '!=way '((nil nil (mconst!>))))
  1222. (put '!#!L!C!O!N!S!T '!=type 0)
  1223. (put '!#!L!C!O!N!S!T '!=idxl '((n . 6)))
  1224. (put '!#!L!C!O!N!S!T '!=way '((nil nil (lconst!>))))
  1225. % Einstein Equations ...
  1226. (put '!#!E!E!q '!=type 0)
  1227. (put '!#!E!E!q '!=idxl '(nil nil))
  1228. (put '!#!E!E!q '!=sidxl '((s 1 2)))
  1229. (put '!#!E!E!q '!=way '(
  1230. (nil nil (einstein!>) !#!G !#!R!I!C !#!R!R !#!T!E!N!M!O!M )))
  1231. (put '!#!E!E!q '!=constr '((tttnotqn!>)))
  1232. (put '!#!T!E!E!q '!=type 0)
  1233. (put '!#!T!E!E!q '!=way '(
  1234. (nil nil (einsteint!>) !#!R!R !#!T!E!N!M!O!M!T )))
  1235. (put '!#!T!E!E!q '!=constr '((sp!>)(tttnotqn!>)))
  1236. (put '!#!C!E!E!q '!=type 0)
  1237. (put '!#!C!E!E!q '!=idxl '((u . 2)(d . 2)))
  1238. (put '!#!C!E!E!q '!=sidxl '((h 1 2)))
  1239. (put '!#!C!E!E!q '!=way '(
  1240. (nil nil (einsteinc!>) !#!R!C !#!T!E!N!M!O!M!S )))
  1241. (put '!#!C!E!E!q '!=constr '((sp!>)(tttnotqn!>)))
  1242. % Gravitational Equations ...
  1243. (put '!#!P!O!M!E!G!A!U '!=type 2)
  1244. (put '!#!P!O!M!E!G!A!U '!=idxl '((u . 2)))
  1245. (put '!#!P!O!M!E!G!A!U '!=way '(
  1246. (nil nil (pomegau!>) !#!L!C!O!N!S!T !#!S!U
  1247. (!*nonmin !#!A!C!O!N!S!T !#!F!I) )))
  1248. (put '!#!P!O!M!E!G!A!U '!=constr '((sp!-n!>)))
  1249. (put '!#!P!T!H!E!T!A '!=type 2)
  1250. (put '!#!P!T!H!E!T!A '!=idxl '(t))
  1251. (put '!#!P!T!H!E!T!A '!=way '(
  1252. (nil nil (ptheta!>) !#!M!C!O!N!S!T )))
  1253. (put '!#!P!T!H!E!T!A '!=constr '((sp!-n!>)(tttq!>)))
  1254. (put '!#!L!A!C!T '!=type 4)
  1255. (put '!#!L!A!C!T '!=way '(
  1256. (nil (sp!-n!>) (lact!>)
  1257. !#!V!O!L !#!R!R !#!L!C!O!N!S!T
  1258. !#!P!O!M!E!G!A!U !#!O!M!E!G!A!U
  1259. (!*torsion !#!P!T!H!E!T!A !#!T!H!E!T!A)
  1260. (!*nonmin !#!A!C!O!N!S!T !#!F!I) )
  1261. ))
  1262. (put '!#!L!A!C!T '!=constr '((ttt4!>)))
  1263. (put '!#!L!A!C!T '!=dens '(t nil t nil))
  1264. (put '!#!M!E!T!R!q '!=type 0)
  1265. (put '!#!M!E!T!R!q '!=idxl '(nil nil))
  1266. (put '!#!M!E!T!R!q '!=sidxl '((s 1 2)))
  1267. (put '!#!M!E!T!R!q '!=way '(
  1268. (nil nil (metrequation!>)
  1269. !#!D !#!T !#!S!U !#!V!O!L !#!L!A!C!T !#!T!E!N!M!O!M
  1270. !#!o!m!e!g!a!u !#!o!m!e!g!a!d
  1271. !#!O!M!E!G!A!U !#!P!O!M!E!G!A!U
  1272. (!*torsion !#!T!H!E!T!A !#!P!T!H!E!T!A ) )
  1273. ))
  1274. (put '!#!M!E!T!R!q '!=constr '((sp!-n!>)))
  1275. (put '!#!T!O!R!S!q '!=type 3)
  1276. (put '!#!T!O!R!S!q '!=idxl '((u . 2)))
  1277. (put '!#!T!O!R!S!q '!=way '(
  1278. (nil nil (torsequation!>)
  1279. !#!T !#!S!U !#!o!m!e!g!a!u !#!P!O!M!E!G!A!U !#!P!T!H!E!T!A
  1280. !#!S!P!I!N!U )
  1281. ))
  1282. (put '!#!T!O!R!S!q '!=constr '((sp!-n!>)(tttq!>)))
  1283. % Geodesics and congruences ...
  1284. (put '!#!G!E!O!q '!=type 0)
  1285. (put '!#!G!E!O!q '!=idxl '(1))
  1286. (put '!#!G!E!O!q '!=way '(
  1287. (nil (tttapar!>) (geodesics!>) !#!G !#!G!I !#!T !#!D )))
  1288. (put '!#!G!E!O!q '!=constr '((tttapar!>)))
  1289. % Null congruence ...
  1290. (put '!#!K!V '!=type -1)
  1291. (put '!#!N!C!o '!=type 0)
  1292. (put '!#!N!C!o '!=way '(
  1293. (nil nil (ncnq!>) !#!T !#!D !#!G !#!G!I !#!K!V )))
  1294. (put '!#!G!C!o '!=type 0)
  1295. (put '!#!G!C!o '!=idxl '(t))
  1296. (put '!#!G!C!o '!=way '(
  1297. (nil nil (ncgq!>)
  1298. !#!T !#!D !#!G !#!G!I !#!K!V
  1299. ((or !*torsion !*nonmetr) !#!r!o!m!e!g!a)
  1300. ((and (null !*torsion) (null !*nonmetr)) !#!o!m!e!g!a) )
  1301. ))
  1302. (put '!#!t!h!e!t!a!O '!=type 0)
  1303. (put '!#!t!h!e!t!a!O '!=way '(
  1304. (nil nil (nctheta!>)
  1305. !#!T !#!D !#!G !#!G!I !#!K!V !#!N!C!o !#!G!C!o
  1306. ((or !*torsion !*nonmetr) !#!r!o!m!e!g!a)
  1307. ((and (null !*torsion) (null !*nonmetr)) !#!o!m!e!g!a) )
  1308. ))
  1309. (put '!#!t!h!e!t!a!O '!=constr '((ttt4!>)))
  1310. (put '!#!o!m!e!g!a!S!Q!O '!=type 0)
  1311. (put '!#!o!m!e!g!a!S!Q!O '!=way '(
  1312. (nil nil (ncomega!>)
  1313. !#!T !#!D !#!G !#!G!I !#!K!V !#!N!C!o !#!G!C!o
  1314. ((or !*torsion !*nonmetr) !#!r!o!m!e!g!a)
  1315. ((and (null !*torsion) (null !*nonmetr)) !#!o!m!e!g!a) )
  1316. ))
  1317. (put '!#!o!m!e!g!a!S!Q!O '!=constr '((ttt4!>)))
  1318. (put '!#!s!i!g!m!a!S!Q!O '!=type 0)
  1319. (put '!#!s!i!g!m!a!S!Q!O '!=way '(
  1320. (nil nil (ncsigma!>)
  1321. !#!T !#!D !#!G !#!G!I !#!K!V !#!t!h!e!t!a!O
  1322. !#!N!C!o !#!G!C!o
  1323. ((or !*torsion !*nonmetr) !#!r!o!m!e!g!a)
  1324. ((and (null !*torsion) (null !*nonmetr)) !#!o!m!e!g!a) )
  1325. ))
  1326. (put '!#!s!i!g!m!a!S!Q!O '!=constr '((ttt4!>)))
  1327. % Kinematics ...
  1328. (put '!#!U!V '!=type -1)
  1329. (put '!#!U!V '!=way '((nil nil (uvfromuup!>) !#!D !#!U!U )))
  1330. (put '!#!U!U '!=type 0)
  1331. (put '!#!U!U '!=idxl '(t))
  1332. (put '!#!U!U '!=way '(
  1333. ((By Default) (tttdiag!>) (uudefault!>) )
  1334. ((From Velocity Vector) nil (uupfromuv!>) !#!T (t !#!U!V) )
  1335. ))
  1336. (put '!#!U!S!Q '!=type 0)
  1337. (put '!#!U!S!Q '!=way '((nil nil (usquare!>) !#!U!U !#!G )))
  1338. (put '!#!P!R '!=type 0)
  1339. (put '!#!P!R '!=idxl '(t nil))
  1340. (put '!#!P!R '!=way '((nil nil (projector!>) !#!U!U !#!U!S!Q )))
  1341. (put '!#!a!c!c!U '!=type 0)
  1342. (put '!#!a!c!c!U '!=idxl '(t))
  1343. (put '!#!a!c!c!U '!=way '(
  1344. (nil nil (accelerat!>)
  1345. !#!T !#!D !#!G !#!G!I !#!U!U
  1346. ((or !*torsion !*nonmetr) !#!r!o!m!e!g!a)
  1347. ((and (null !*torsion) (null !*nonmetr)) !#!o!m!e!g!a) )
  1348. ))
  1349. (put '!#!o!m!e!g!a!U '!=type 0)
  1350. (put '!#!o!m!e!g!a!U '!=idxl '(nil nil))
  1351. (put '!#!o!m!e!g!a!U '!=sidxl '((a 1 2)))
  1352. (put '!#!o!m!e!g!a!U '!=way '(
  1353. (nil nil (uomega!>)
  1354. !#!T !#!D !#!G !#!G!I !#!U!U !#!P!R
  1355. ((or !*torsion !*nonmetr) !#!r!o!m!e!g!a)
  1356. ((and (null !*torsion) (null !*nonmetr)) !#!o!m!e!g!a) )
  1357. ))
  1358. (put '!#!s!i!g!m!a!U '!=type 0)
  1359. (put '!#!s!i!g!m!a!U '!=idxl '(nil nil))
  1360. (put '!#!s!i!g!m!a!U '!=sidxl '((s 1 2)))
  1361. (put '!#!s!i!g!m!a!U '!=way '(
  1362. (nil nil (usigma!>)
  1363. !#!T !#!D !#!G !#!G!I !#!U!U !#!P!R !#!t!h!e!t!a!U
  1364. ((or !*torsion !*nonmetr) !#!r!o!m!e!g!a)
  1365. ((and (null !*torsion) (null !*nonmetr)) !#!o!m!e!g!a) )
  1366. ))
  1367. (put '!#!t!h!e!t!a!U '!=type 0)
  1368. (put '!#!t!h!e!t!a!U '!=way '(
  1369. (nil nil (utheta!>)
  1370. !#!T !#!D !#!G !#!G!I !#!U!U
  1371. ((or !*torsion !*nonmetr) !#!r!o!m!e!g!a)
  1372. ((and (null !*torsion) (null !*nonmetr)) !#!o!m!e!g!a) )
  1373. ))
  1374. % Ideal Fluid ...
  1375. (put '!#!P!R!E!S '!=type 0)
  1376. (put '!#!E!N!E!R '!=type 0)
  1377. (put '!#!T!I!F!L '!=type 0)
  1378. (put '!#!T!I!F!L '!=idxl '(nil nil))
  1379. (put '!#!T!I!F!L '!=sidxl '((s 1 2)))
  1380. (put '!#!T!I!F!L '!=way '(
  1381. (nil nil (tfli!>) !#!G !#!U!S!Q !#!U!U !#!E!N!E!R !#!P!R!E!S )))
  1382. % Spin Fluid ...
  1383. (put '!#!T!S!F!L '!=type 0)
  1384. (put '!#!T!S!F!L '!=idxl '(nil nil))
  1385. (put '!#!T!S!F!L '!=sidxl '((s 1 2)))
  1386. (put '!#!T!S!F!L '!=way '(
  1387. (nil nil (tsfluid!>) !#!T !#!D !#!G !#!G!I
  1388. !#!U!S!Q !#!U!U !#!U!V !#!E!N!E!R !#!P!R!E!S
  1389. !#!S!P!F!L!T !#!F!C!o !#!o!m!e!g!a )))
  1390. (put '!#!T!S!F!L '!=constr '((tttnotn!>)))
  1391. (put '!#!S!P!F!L '!=type 2)
  1392. (put '!#!S!P!F!L '!=way '(
  1393. ((From Spin Density) nil (spfl!>) !#!S !#!S!P!F!L!T )))
  1394. (put '!#!S!P!F!L!T '!=type 0)
  1395. (put '!#!S!P!F!L!T '!=idxl '(nil nil))
  1396. (put '!#!S!P!F!L!T '!=sidxl '((a 1 2)))
  1397. (put '!#!S!P!F!L!T '!=way '(
  1398. ((From Spin Density 2 - form) nil (spflt!>) !#!D !#!S!P!F!L )))
  1399. (put '!#!S!P!F!L!U '!=type 3)
  1400. (put '!#!S!P!F!L!U '!=idxl '((u . 2)))
  1401. (put '!#!S!P!F!L!U '!=way '(
  1402. (nil nil (spflu!>) !#!D !#!T !#!G !#!G!I !#!S!P!F!L!T !#!U!U !#!F!C!o )))
  1403. (put '!#!S!P!F!L!U '!=constr '((sp!>)))
  1404. (put '!#!F!C!o '!=type 1)
  1405. (put '!#!F!C!o '!=way '(
  1406. (nil nil (frenkel!>) !#!U!V !#!S!P!F!L )))
  1407. % Total Energy-Momentum and Spin ...
  1408. (put '!#!T!E!N!M!O!M '!=type 0)
  1409. (put '!#!T!E!N!M!O!M '!=idxl '(nil nil))
  1410. (put '!#!T!E!N!M!O!M '!=sidxl '((s 1 2)))
  1411. (put '!#!T!E!N!M!O!M '!=way '((nil nil (tenmom!>) )))
  1412. (put '!#!T!E!N!M!O!M!T '!=type 0)
  1413. (put '!#!T!E!N!M!O!M!T '!=way '(
  1414. (nil nil (tenmomt!>) !#!G!I !#!T!E!N!M!O!M )))
  1415. (put '!#!T!E!N!M!O!M!S '!=type 0)
  1416. (put '!#!T!E!N!M!O!M!S '!=idxl '((u . 2)(d . 2)))
  1417. (put '!#!T!E!N!M!O!M!S '!=sidxl '((h 1 2)))
  1418. (put '!#!T!E!N!M!O!M!S '!=way '(
  1419. (nil nil (tenmoms!>) !#!G !#!T!E!N!M!O!M !#!T!E!N!M!O!M!T )))
  1420. (put '!#!T!E!N!M!O!M!S '!=constr '((sp!>)))
  1421. (put '!#!S!P!I!N!U '!=type 3)
  1422. (put '!#!S!P!I!N!U '!=idxl '((u . 2)))
  1423. (put '!#!S!P!I!N!U '!=way '((nil nil (spinu!>) )))
  1424. (put '!#!S!P!I!N!U '!=constr '((sp!>)))
  1425. %------ Macros ---------------------------------------------------------
  1426. % Macro Functions. Work like functions. Recognized by property =MACROS
  1427. % its value is the evaluator function. Additional flags:
  1428. % +MACROS - marks corresponding evaluating functions
  1429. % +grgmac - protect external names from additional usage
  1430. (flag '(
  1431. ima!> re!> getsoln!>
  1432. ) '!+macros)
  1433. (flag '(
  1434. !I!m !R!e !S!o!l !E!R!R!O!R
  1435. ) '!+grgmac)
  1436. (put '!I!m '!=macros 'ima!>)
  1437. (put '!R!e '!=macros 're!>)
  1438. (put '!S!o!l '!=macros 'getsoln!>)
  1439. %--- Macros 2 and 3 ----------------------------------------------------
  1440. % Macro Tensor. Work in expressions like tensors.
  1441. % They are flagged by +MACROS2 falg. They have their properties:
  1442. % =type =idxl - as usual, and in addition properties:
  1443. % =evf - function evaluator for the component
  1444. % =ndl - list of required data
  1445. (flag '(
  1446. !#!x !#!X !#!d!i!m !#!s!i!g!n !#!s!g!n!t !#!s!d!i!a!g
  1447. !#!p!m!s!g!n !#!m!p!s!g!n
  1448. !#!h !#!h!i !#!g !#!g!i
  1449. !#!d!e!l !#!d!e!l!h !#!e!p!s !#!e!p!s!i !#!e!p!s!h !#!e!p!s!i!h
  1450. !#!E!P!S !#!E!P!S!I !#!D!E!L !#!s!i!g!m!a !#!s!i!g!m!a!i
  1451. !#!C!H!R !#!C!H!R!F !#!C!H!R!T !#!S!P!C!O!E!F !#!c!c!i
  1452. !#!P!H!I!N!P !#!P!S!I!N!P
  1453. !#!a!l!p!h!a!n!p !#!b!e!t!a!n!p !#!g!a!m!m!a!n!p !#!e!p!s!i!l!o!n!n!p
  1454. !#!k!a!p!p!a!n!p !#!r!h!o!n!p !#!s!i!g!m!a!n!p !#!t!a!u!n!p
  1455. !#!m!u!n!p !#!n!u!n!p !#!l!a!m!b!d!a!n!p !#!p!i!n!p
  1456. !#!D!D !#!D!T !#!d!d !#!d!u
  1457. ) '!+macros2)
  1458. % Coordinates
  1459. (put '!#!x '!=type 0)
  1460. (put '!#!x '!=idxl '(1))
  1461. (put '!#!x '!=evf 'x!>)
  1462. (put '!#!X '!=type 0)
  1463. (put '!#!X '!=idxl '(1))
  1464. (put '!#!X '!=evf 'x!>)
  1465. % Conjugate spinorial index
  1466. (put '!#!c!c!i '!=type 0)
  1467. (put '!#!c!c!i '!=idxl '((n . 3)))
  1468. (put '!#!c!c!i '!=evf 'ccin!>)
  1469. % Signature
  1470. (put '!#!s!d!i!a!g '!=type 0)
  1471. (put '!#!s!d!i!a!g '!=idxl '((n)))
  1472. (put '!#!s!d!i!a!g '!=evf 'diagonal!>)
  1473. % Frame components
  1474. (put '!#!h '!=type 0)
  1475. (put '!#!h '!=idxl '(t 0))
  1476. (put '!#!h '!=ndl '(!#!T))
  1477. (put '!#!h '!=evf 'ham!>)
  1478. (put '!#!h!i '!=type 0)
  1479. (put '!#!h!i '!=idxl '(nil 1))
  1480. (put '!#!h!i '!=ndl '(!#!D))
  1481. (put '!#!h!i '!=evf 'hiam!>)
  1482. % Holonomic metric
  1483. (put '!#!g '!=type 0)
  1484. (put '!#!g '!=idxl '(0 0))
  1485. (put '!#!g '!=sidxl '((s 1 2)))
  1486. (put '!#!g '!=ndl '(!#!G !#!T))
  1487. (put '!#!g '!=evf 'gmetr!>)
  1488. (put '!#!g '!=tex '!g)
  1489. (put '!#!g!i '!=type 0)
  1490. (put '!#!g!i '!=idxl '(1 1))
  1491. (put '!#!g!i '!=sidxl '((s 1 2)))
  1492. (put '!#!g!i '!=ndl '(!#!G!I !#!D))
  1493. (put '!#!g!i '!=evf 'gimetr!>)
  1494. (put '!#!g!i '!=tex '!g)
  1495. % Delta symbols
  1496. (put '!#!d!e!l '!=type 0)
  1497. (put '!#!d!e!l '!=idxl '(t nil))
  1498. (put '!#!d!e!l '!=evf 'delta!>)
  1499. (put '!#!d!e!l '!=tex "\delta")
  1500. (put '!#!d!e!l!h '!=type 0)
  1501. (put '!#!d!e!l!h '!=idxl '(1 0))
  1502. (put '!#!d!e!l!h '!=evf 'delta!>)
  1503. (put '!#!d!e!l!h '!=tex "\delta")
  1504. (put '!#!D!E!L '!=type 0)
  1505. (put '!#!D!E!L '!=idxl '((uu . 1) (u . 1)))
  1506. (put '!#!D!E!L '!=evf 'delta!>)
  1507. (put '!#!D!E!L '!=tex "\delta")
  1508. % Antysymmetric tensors
  1509. (put '!#!e!p!s '!=type 0)
  1510. (put '!#!e!p!s '!=idxl '(nil nil nil nil))
  1511. (put '!#!e!p!s '!=sidxl '((a 1 2 3 4)))
  1512. (put '!#!e!p!s '!=ndl '(!#!s!d!e!t!G))
  1513. (put '!#!e!p!s '!=evf 'epsilf!>)
  1514. (put '!#!e!p!s '!=tex '!E)
  1515. (put '!#!e!p!s!i '!=type 0)
  1516. (put '!#!e!p!s!i '!=idxl '(t t t t))
  1517. (put '!#!e!p!s!i '!=sidxl '((a 1 2 3 4)))
  1518. (put '!#!e!p!s!i '!=ndl '(!#!s!d!e!t!G))
  1519. (put '!#!e!p!s!i '!=evf 'epsiuf!>)
  1520. (put '!#!e!p!s!i '!=tex '!E)
  1521. (put '!#!e!p!s!h '!=type 0)
  1522. (put '!#!e!p!s!h '!=idxl '(0 0 0 0))
  1523. (put '!#!e!p!s!h '!=sidxl '((a 1 2 3 4)))
  1524. (put '!#!e!p!s!h '!=ndl '(!#!d!e!t!g))
  1525. (put '!#!e!p!s!h '!=evf 'epsilh!>)
  1526. (put '!#!e!p!s!h '!=tex '!E)
  1527. (put '!#!e!p!s!i!h '!=type 0)
  1528. (put '!#!e!p!s!i!h '!=idxl '(1 1 1 1))
  1529. (put '!#!e!p!s!i!h '!=sidxl '((a 1 2 3 4)))
  1530. (put '!#!e!p!s!i!h '!=ndl '(!#!d!e!t!g))
  1531. (put '!#!e!p!s!i!h '!=evf 'epsiuh!>)
  1532. (put '!#!e!p!s!i!h '!=tex '!E)
  1533. (put '!#!E!P!S '!=type 0)
  1534. (put '!#!E!P!S '!=idxl '((u . 1) (u . 1)))
  1535. (put '!#!E!P!S '!=sidxl '((a 1 2)))
  1536. (put '!#!E!P!S '!=evf 'epss!>)
  1537. (put '!#!E!P!S '!=constr '((sp!>)))
  1538. (put '!#!E!P!S '!=tex "\epsilon")
  1539. (put '!#!E!P!S!I '!=type 0)
  1540. (put '!#!E!P!S!I '!=idxl '((uu . 1) (uu . 1)))
  1541. (put '!#!E!P!S!I '!=sidxl '((a 1 2)))
  1542. (put '!#!E!P!S!I '!=evf 'epss!>)
  1543. (put '!#!E!P!S!I '!=constr '((sp!>)))
  1544. (put '!#!E!P!S!I '!=tex "\epsilon")
  1545. % Sigma matrices
  1546. (put '!#!s!i!g!m!a '!=type 0)
  1547. (put '!#!s!i!g!m!a '!=idxl '(t (u . 1) (d . 1)))
  1548. (put '!#!s!i!g!m!a '!=evf 'sigma!>)
  1549. (put '!#!s!i!g!m!a '!=constr '((sp!>)))
  1550. (put '!#!s!i!g!m!a '!=tex '"\sigma")
  1551. (put '!#!s!i!g!m!a!i '!=type 0)
  1552. (put '!#!s!i!g!m!a!i '!=idxl '(nil (uu . 1) (ud . 1)))
  1553. (put '!#!s!i!g!m!a!i '!=evf 'sigmai!>)
  1554. (put '!#!s!i!g!m!a!i '!=constr '((sp!>)))
  1555. (put '!#!s!i!g!m!a!i '!=tex '"\sigma")
  1556. % Christoffel symbols
  1557. % of first kind
  1558. (put '!#!C!H!R!F '!=type 0)
  1559. (put '!#!C!H!R!F '!=idxl '(0 0 0))
  1560. (put '!#!C!H!R!F '!=sidxl '((s 2 3)))
  1561. (put '!#!C!H!R!F '!=evf 'chrf!>)
  1562. (put '!#!C!H!R!F '!=ndl '( !#!G !#!D ))
  1563. % of second kind
  1564. (put '!#!C!H!R '!=type 0)
  1565. (put '!#!C!H!R '!=idxl '(1 0 0))
  1566. (put '!#!C!H!R '!=sidxl '((s 2 3)))
  1567. (put '!#!C!H!R '!=evf 'chr!>)
  1568. (put '!#!C!H!R '!=ndl '( !#!G !#!D !#!G!I !#!T ))
  1569. % trace
  1570. (put '!#!C!H!R!T '!=type 0)
  1571. (put '!#!C!H!R!T '!=idxl '(0))
  1572. (put '!#!C!H!R!T '!=evf 'chrt!>)
  1573. (put '!#!C!H!R!T '!=ndl '( !#!d!e!t!g ))
  1574. (put '!#!S!P!C!O!E!F '!=type 0)
  1575. (put '!#!S!P!C!O!E!F '!=idxl '((u . 2) nil))
  1576. (put '!#!S!P!C!O!E!F '!=constr '((sp!-n!>)))
  1577. (put '!#!S!P!C!O!E!F '!=evf 'spcoef!>)
  1578. (put '!#!S!P!C!O!E!F '!=ndl '( !#!D !#!o!m!e!g!a!u ))
  1579. (put '!#!P!H!I!N!P '!=type 0)
  1580. (put '!#!P!H!I!N!P '!=idxl '((u . 2)(d . 2)))
  1581. (put '!#!P!H!I!N!P '!=evf 'phinp!>)
  1582. (put '!#!P!H!I!N!P '!=ndl '( !#!R!C ))
  1583. (put '!#!P!S!I!N!P '!=type 0)
  1584. (put '!#!P!S!I!N!P '!=idxl '((u . 4)))
  1585. (put '!#!P!S!I!N!P '!=evf 'psinp!>)
  1586. (put '!#!P!S!I!N!P '!=ndl '( !#!R!W ))
  1587. % Macros 3 extension of Macros 2. For quantities without indices.
  1588. (flag '(
  1589. !#!d!i!m !#!s!i!g!n !#!s!g!n!t
  1590. !#!p!m!s!g!n !#!m!p!s!g!n
  1591. !#!a!l!p!h!a!n!p !#!b!e!t!a!n!p !#!g!a!m!m!a!n!p !#!e!p!s!i!l!o!n!n!p
  1592. !#!k!a!p!p!a!n!p !#!r!h!o!n!p !#!s!i!g!m!a!n!p !#!t!a!u!n!p
  1593. !#!m!u!n!p !#!n!u!n!p !#!l!a!m!b!d!a!n!p !#!p!i!n!p
  1594. !#!D!D !#!D!T !#!d!d !#!d!u
  1595. ) '!+macros3)
  1596. (flag '( !d!i!m !s!i!g!n !s!g!n!t ) '!+grgmac)
  1597. % Dimension
  1598. (put '!#!d!i!m '!=type 0)
  1599. (put '!#!d!i!m '!=evf 'dim!>)
  1600. % Signature
  1601. (put '!#!s!i!g!n '!=type 0)
  1602. (put '!#!s!i!g!n '!=evf 'sigprod!>)
  1603. (put '!#!s!g!n!t '!=type 0)
  1604. (put '!#!s!g!n!t '!=evf 'sigprod!>)
  1605. (put '!#!p!m!s!g!n '!=type 0)
  1606. (put '!#!p!m!s!g!n '!=evf 'pmsgn!>)
  1607. (put '!#!m!p!s!g!n '!=type 0)
  1608. (put '!#!m!p!s!g!n '!=evf 'mpsgn!>)
  1609. % NP spin coefficients
  1610. (put '!#!a!l!p!h!a!n!p '!=type 0)
  1611. (put '!#!b!e!t!a!n!p '!=type 0)
  1612. (put '!#!g!a!m!m!a!n!p '!=type 0)
  1613. (put '!#!e!p!s!i!l!o!n!n!p '!=type 0)
  1614. (put '!#!k!a!p!p!a!n!p '!=type 0)
  1615. (put '!#!r!h!o!n!p '!=type 0)
  1616. (put '!#!s!i!g!m!a!n!p '!=type 0)
  1617. (put '!#!t!a!u!n!p '!=type 0)
  1618. (put '!#!m!u!n!p '!=type 0)
  1619. (put '!#!n!u!n!p '!=type 0)
  1620. (put '!#!l!a!m!b!d!a!n!p '!=type 0)
  1621. (put '!#!p!i!n!p '!=type 0)
  1622. (put '!#!a!l!p!h!a!n!p '!=evf 'alphanp!>)
  1623. (put '!#!b!e!t!a!n!p '!=evf 'betanp!>)
  1624. (put '!#!g!a!m!m!a!n!p '!=evf 'gammanp!>)
  1625. (put '!#!e!p!s!i!l!o!n!n!p '!=evf 'epsilonnp!>)
  1626. (put '!#!k!a!p!p!a!n!p '!=evf 'kappanp!>)
  1627. (put '!#!r!h!o!n!p '!=evf 'rhonp!>)
  1628. (put '!#!s!i!g!m!a!n!p '!=evf 'sigmanp!>)
  1629. (put '!#!t!a!u!n!p '!=evf 'taunp!>)
  1630. (put '!#!m!u!n!p '!=evf 'munp!>)
  1631. (put '!#!n!u!n!p '!=evf 'nunp!>)
  1632. (put '!#!l!a!m!b!d!a!n!p '!=evf 'lambdanp!>)
  1633. (put '!#!p!i!n!p '!=evf 'pinp!>)
  1634. (put '!#!a!l!p!h!a!n!p '!=ndl '( !#!D !#!o!m!e!g!a!u ))
  1635. (put '!#!b!e!t!a!n!p '!=ndl '( !#!D !#!o!m!e!g!a!u ))
  1636. (put '!#!g!a!m!m!a!n!p '!=ndl '( !#!D !#!o!m!e!g!a!u ))
  1637. (put '!#!e!p!s!i!l!o!n!n!p '!=ndl '( !#!D !#!o!m!e!g!a!u ))
  1638. (put '!#!k!a!p!p!a!n!p '!=ndl '( !#!D !#!o!m!e!g!a!u ))
  1639. (put '!#!r!h!o!n!p '!=ndl '( !#!D !#!o!m!e!g!a!u ))
  1640. (put '!#!s!i!g!m!a!n!p '!=ndl '( !#!D !#!o!m!e!g!a!u ))
  1641. (put '!#!t!a!u!n!p '!=ndl '( !#!D !#!o!m!e!g!a!u ))
  1642. (put '!#!m!u!n!p '!=ndl '( !#!D !#!o!m!e!g!a!u ))
  1643. (put '!#!n!u!n!p '!=ndl '( !#!D !#!o!m!e!g!a!u ))
  1644. (put '!#!l!a!m!b!d!a!n!p '!=ndl '( !#!D !#!o!m!e!g!a!u ))
  1645. (put '!#!p!i!n!p '!=ndl '( !#!D !#!o!m!e!g!a!u ))
  1646. (put '!#!D!D '!=type -1)
  1647. (put '!#!D!T '!=type -1)
  1648. (put '!#!d!d '!=type -1)
  1649. (put '!#!d!u '!=type -1)
  1650. (put '!#!D!D '!=ndl '( !#!D ))
  1651. (put '!#!D!T '!=ndl '( !#!D ))
  1652. (put '!#!d!d '!=ndl '( !#!D ))
  1653. (put '!#!d!u '!=ndl '( !#!D ))
  1654. (put '!#!D!D '!=evf 'dddop!>)
  1655. (put '!#!D!T '!=evf 'dtop!>)
  1656. (put '!#!d!d '!=evf 'ddop!>)
  1657. (put '!#!d!u '!=evf 'duop!>)
  1658. %-----------------------------------------------------------------------
  1659. %====== (3) Other Internals =============================================
  1660. %--------- Properties for Scaner -----------------------------------
  1661. (flag '( !/ !* !_ !~ !< !> !- !| !. ) '!=fc)
  1662. %%-------- Properties for Translator -------------------------------
  1663. (put '!* '!=op2 'times2!>)
  1664. (put '!/ '!=op2 'quoti!>)
  1665. (put '!/!\ '!=op2 'dfpr2!>)
  1666. (put '!_!| '!=op2 'inpr!>)
  1667. (put '!| '!=op2 'vef!>)
  1668. (put '!. '!=op2 'vpr!>)
  1669. (flag '(times2!> quoti!> dfpr2!> inpr!> vef!> vpr!>) '!+multop2)
  1670. (put '!@ '!=sysfun 'bvec!>)
  1671. (put '!# '!=sysfun 'dualis!>)
  1672. (put '!d '!=sysfun 'dx!>)
  1673. (put '!~ '!=sysfun 'co!>)
  1674. (put '!S!u!m '!=spectr 'sumtr!>)
  1675. (put '!P!r!o!d '!=spectr 'prodtr!>)
  1676. (put '!L!i!e '!=spectr 'lietr!>)
  1677. (put '!D!c '!=spectr 'dctran!>)
  1678. (put '!D!f!c '!=spectr 'dfctran!>)
  1679. %(put '!L!i!m '!=spectr 'limtr!>)
  1680. %(put '!L!i!m!M '!=spectr 'limtrm!>)
  1681. %(put '!L!i!m!P '!=spectr 'limtrp!>)
  1682. (put '!L!H!S '!=spectr 'lhs0!>)
  1683. (put '!R!H!S '!=spectr 'rhs0!>)
  1684. (put 'sub '!=spectr 'subtr!>)
  1685. (put '!I!f '!=spectr 'iftran!>)
  1686. %(put '!D!f '!=spectr 'pdftra!>)
  1687. %(put '!D!f!p '!=spectr 'dfptra!>)
  1688. (put '!E!R!R!O!R '!=spectr 'errortr!>)
  1689. (flag '(
  1690. funapply!> sumexec!> prodexec!> lhs!> rhs!> dummyvar!>
  1691. subexec!> ifexec!> lieexec!> dcexec!> dfcexec!> error!>
  1692. % limexec!>
  1693. ) '!+specexec)
  1694. %------- Boollean Expressions --------------------------------------
  1695. (put '!O!B!J!E!C!T '!=boolmac 'objexe!>)
  1696. (put '!O!N '!=boolmac 'onexe!>)
  1697. (put '!O!F!F '!=boolmac 'offexe!>)
  1698. (put '!Z!E!R!O '!=boolmac 'zeroexe!>)
  1699. (put '!H!A!S!V!A!L!U!E '!=boolmac 'valexe!>)
  1700. (put '!N!U!L!L!M '!=boolmac 'nullexe!>)
  1701. (flag '(objexe!> onexe!> offexe!> zeroexe!> valexe!> nullexe!>)
  1702. '!+specbexe)
  1703. %------- Flags and properties which must be cleared ----------------
  1704. (setq ![rpfl!] '(
  1705. ((![const!]) (!+grg !+grgvar used!* constant)
  1706. !=conj )
  1707. ((![fun!]) ( !+grg subfn !+grgvar !+fun used!*
  1708. symmetric antisymmetric odd even)
  1709. simpfn kvalue klist narg !=conj !=depend)
  1710. ((![cord!]) (!+grg !+grgvar used!*)
  1711. !=cord !=conj)
  1712. ((![ocord!]) (!+grg !+grgvar used!*)
  1713. !=cord !=conj)
  1714. ((![apar!]) (!+grg !+grgvar used!*) )
  1715. ))
  1716. (setq ![rpflcr!] '(
  1717. ((![cord!]) (!+grg !+grgvar used!*) !=cord !=conj)
  1718. ))
  1719. (setq ![rpflcn!] '(
  1720. ((![const!]) (!+grg !+grgvar used!* constant) !=conj)
  1721. ))
  1722. (setq ![rpflap!] '(
  1723. ((![apar!]) (!+grg !+grgvar used!* constant) )
  1724. ))
  1725. (setq ![rpflfu!] '(
  1726. ((![fun!]) ( !+grg subfn !+grgvar !+fun used!*
  1727. symmetric antisymmetric odd even dfp!_commute )
  1728. subfunc generic!_function
  1729. simpfn kvalue klist narg !=conj !=depend)
  1730. ))
  1731. %------- List of Flags and Props important for Load/Unload ------
  1732. (setq ![allflags!]
  1733. '( !+equ !+pl !+ivar !+abbr !+noncov !+hconn !+fconn !+uconn !+dconn ))
  1734. (setq ![allprops!]
  1735. '( !=type !=idxl !=sidxl !=constr !=tex !=dens ))
  1736. %------- Commands ----------------------------------------------
  1737. % word!!!
  1738. (setq ![instr!] '(
  1739. (On !!!! onoff!> t)
  1740. (Off !!!! onoff!> nil)
  1741. (Quit !! grgquit!>)
  1742. (System !!!! grgsystem!>)
  1743. (Stop !! stop!>)
  1744. (Find !!!! find!>)
  1745. % (Calculate !!!! find!>)
  1746. (Write !!!! write!>)
  1747. (Zero !!!! zero!>)
  1748. % (Nullify !!!! zero!>)
  1749. (Print !!!! printi!>)
  1750. (Evaluate !!!! evalcomm!> (function evel!>))
  1751. % (Simplify !!!! evalcomm!> (function evel!>))
  1752. (Erase !!!! erase!>)
  1753. % (Delete !!!! erase!>)
  1754. (Let !!!! leti!> t)
  1755. (Match !!!! matchi!> t)
  1756. (Clear !!!! cleri!> t)
  1757. (For !!!! forinstrs!>)
  1758. (Input !!!! from!>)
  1759. (Dimension !!!! dimension!>)
  1760. (!% !!!! comment!>)
  1761. (Comment !!!! comment!>)
  1762. (File !!!! showfil!>)
  1763. (Factor !!!! orfare!> 'factor)
  1764. (RemFac !!!! orfare!> 'remfac)
  1765. (Order !!!! orfare!> 'order)
  1766. (Holonomic !! turnbg!> nil)
  1767. (Anholonomic !! turnbg!> t)
  1768. (Show !!!! shcommands!>)
  1769. (ds2 !! showlinel!>)
  1770. (Time !! timei!>)
  1771. (GC
  1772. (Time !! gctime!>))
  1773. (Switch !!!! sflag!>)
  1774. (Status !! shstatus!>)
  1775. (Load !!!! loa!>)
  1776. % (Restore !!!! loa!>)
  1777. (Unload !!!! unl!>)
  1778. % (Save !!!! unl!>)
  1779. (Next !! next!>)
  1780. (Pause !! pause!>)
  1781. (Normalize !!!! evalcomm!> (function normel!>))
  1782. (Classify !!!! classify!>)
  1783. (Output !!!! grgout!>)
  1784. (Symmetric !!!! funsym!> 0)
  1785. (Antisymmetric
  1786. !!!! funsym!> 1)
  1787. (Odd !!!! funsym!> 2)
  1788. (Even !!!! funsym!> 3)
  1789. (Coordinates
  1790. !!!! datrc!> '![cord!] ![dim!])
  1791. (Constants !!!! datrc!> '![const!] nil)
  1792. (Functions !!!! fun!>)
  1793. (Generic
  1794. (Functions
  1795. !!!! genfun!>))
  1796. (New !!!! newcommands!>)
  1797. (Object !!!! obdec!> 0)
  1798. (Equation !!!! obdec!> 1)
  1799. (Connection
  1800. !!!! obdec!> 2)
  1801. (Line
  1802. (!-
  1803. (Element
  1804. !! showlinel!>))
  1805. (Length !!!! setlinel!>) )
  1806. (Make
  1807. (Spinorial
  1808. (Rotation
  1809. !!!! rotas!>))
  1810. (Rotation
  1811. !!!! rotat!> nil))
  1812. (Spinorial
  1813. (Rotation
  1814. !!!! rotas!>))
  1815. (Rotation !!!! rotat!> nil)
  1816. (Change
  1817. (Metric !!!! rotat!> t))
  1818. (Forget !!!! forget!>)
  1819. (Solve !!!! solvei!>)
  1820. (EndO !! closewrite!>)
  1821. (EndW !! closewrite!>)
  1822. (EndU !! closeunload!>)
  1823. (End (of
  1824. (Output !! closewrite!>)
  1825. (Write !! closewrite!>)
  1826. (Unload !! closeunload!>) ))
  1827. (Inverse !!!! invi!>)
  1828. (Null
  1829. (Metric !! nullmetric!>))
  1830. (Package !!!! loadpack!> t)
  1831. (Hold !!!! hold!> t)
  1832. (Release !!!! hold!> nil)
  1833. (Affine
  1834. (Parameter
  1835. !!!! affpar!>))
  1836. (copyright !! copyrzw!>)
  1837. (lisp !! lisp!>)
  1838. (debug !! otladka!>)
  1839. ))
  1840. %------- Commands allowed as composites ------------------------------
  1841. % word!!!
  1842. (setq ![icompos!] '(
  1843. Find Write Calculate Nullify Zero Save Unload Forget
  1844. Erase Delete Simplify Evaluate Normalize Hold Release
  1845. ))
  1846. %------- Unlocked Commands when coordinates are undefined ------------
  1847. (flag '(
  1848. onoff!> grgquit!> stop!> pause!> next!> from!> showfil!>
  1849. erase!> zero!> comment!> timei!> datrc!> fun!> copyrzw!>
  1850. loa!> sflag!> shobj!> obdec!> gctime!> shstatus!> shall!>
  1851. forget!> grgsystem!> grgout!> setlinel!> hold!>
  1852. lisp!> loadpack!> closewrite!> closeunload!>
  1853. shcommands!> dimension!> otladka!>
  1854. ) '!+unloc)
  1855. %------- Reserved Variables ------------------------------------------
  1856. (setq ![rconstl!] '(
  1857. e i pi infinity failed
  1858. !E!C!O!N!S!T !D!M!A!S!S !S!M!A!S!S !G!C!O!N!S!T !C!C!O!N!S!T
  1859. !L!C0 !L!C1 !L!C2 !L!C3 !L!C4 !L!C5 !L!C6
  1860. !A!C0 !M!C1 !M!C2 !M!C3
  1861. ))
  1862. (operator '(arbcomplex!~))
  1863. (put 'arbcomplex '!=conj 'arbcomplex!~)
  1864. (put 'arbcomplex!~ '!=conj 'arbcomplex)
  1865. % These can not be used in new declarations ...
  1866. (flag '( df nil sub
  1867. !d !L!H!S !R!H!S !S!u!m !P!r!o!d
  1868. !L!i!e !D!c !I!f !D!f !D!f!p !E!R!R!O!R
  1869. % !L!i!m !L!i!m!M !L!i!m!P
  1870. ) '!+grg)
  1871. (flag ![rconstl!] '!+grg)
  1872. (flag ![rconstl!] 'used!*)
  1873. (flag ![rconstl!] '!+grgvar)
  1874. (flag ![rconstl!] 'constant)
  1875. %---- Specially Prohibiting the usage of some symbols in GRG ---------
  1876. (flag '( conj repart impart fix floor round interpol
  1877. ceiling set ws evenp list factorize ) '!+redbad )
  1878. %------- GRG Switches ----------------------------------------------
  1879. % GRG switches :
  1880. (global '(
  1881. !*aeval % If On REVAL(AEVAL()) else REVAL() (Off)
  1882. !*wrs % Evaluate expression before Write if On (On)
  1883. !*wmatr % Print 2-index scalars as matrices (Off)
  1884. !*torsion % Torsion (Off)
  1885. !*nonmetr % Nonmetricity (Off)
  1886. !*unlcord % Saves coordinates in Save/Unload (On)
  1887. !*auto % Automatical data calculation in expr (On)
  1888. !*trace % Tracing evaluation process (On)
  1889. !*showcommands % Show composite commands expansion (Off)
  1890. !*expandsym % Sym Asym and othre in expr (Off)
  1891. !*dfpcommute % Commutativity ofr DFP (On)
  1892. !*nonmin % Nonminimal Interaction (Off)
  1893. !*nofreevars % Prohibites free vars. in Print command (Off)
  1894. !*cconst % Include cosm.-const. in equation or not (Off)
  1895. !*full % Control number of components in Metr.Eq.(Off)
  1896. !*latex % O
  1897. !*grg % u
  1898. !*reduce % t
  1899. !*maple % p
  1900. !*math % u
  1901. !*macsyma % t
  1902. !*dfindexed % DF in indexed form (Off)
  1903. !*batch % Batch mode (Off)
  1904. !*holonomic % Keeps farme holonomic during cord. (On)
  1905. % and frame transformations
  1906. !*showexpr % If On then values of nonzero expr is (Off)
  1907. % shown in the process of classification
  1908. ))
  1909. % oftenly this is already fluid
  1910. (cond ((not (or (fluidp '!*debug) (globalp '!*debug)))
  1911. (global '(
  1912. !*debug % Otladka
  1913. ))))
  1914. (setq ![flagl!] '(
  1915. aeval % If On REVAL(AEVAL()) else REVAL() (Off)
  1916. wrs % Evaluate expression before Write if On (On)
  1917. wmatr % Print 2-index scalars as matrices (Off)
  1918. torsion % Torsion (Off)
  1919. nonmetr % Nonmetricity (Off)
  1920. unlcord % Saves coordinates in Save/Unload (On)
  1921. auto % Automatical data calculation in expr (On)
  1922. trace % Tracing evaluation process (On)
  1923. showcommands % Show composite commands expansion (Off)
  1924. expandsym % Sym Asym and othre in expr (Off)
  1925. dfpcommute % Commutativity ofr DFP (On)
  1926. nonmin % Nonminimal Interaction (Off)
  1927. nofreevars % Prohibites free vars. in Print command (Off)
  1928. cconst % Include cosm.-const. in equation or not (Off)
  1929. full % Control number of components in Metr.Eq.(Off)
  1930. latex % O
  1931. grg % u
  1932. reduce % t
  1933. maple % p
  1934. math % u
  1935. macsyma % t
  1936. dfindexed % DF in indexed form (Off)
  1937. batch % Batch mode (Off)
  1938. holonomic % Keeps farme holonomic during cord. (On)
  1939. % and frame transformations
  1940. showexpr % If On then values of nonzero expr is (Off)
  1941. % shown in the process of classification
  1942. debug % Otladka (Off)
  1943. ))
  1944. (flag ![flagl!] '!+switch)
  1945. % Set these initially to Off position ...
  1946. (setq ![flagnil!]
  1947. '( !*torsion !*nonmetr !*gc !*echo !*batch !*showcommands
  1948. !*expandsym !*dfindexed !*aeval !*wmatr !*showexpr
  1949. !*nonmin !*nofreevars !*cconst !*full
  1950. !*debug ))
  1951. % Set these initially to On position ...
  1952. (setq ![flagt!]
  1953. '( !*unlcord !*wrs !*trace !*auto !*holonomic
  1954. !*dfpcommute ))
  1955. % Output switches ...
  1956. (setq ![flaglo!] '(
  1957. grg reduce maple math macsyma
  1958. ))
  1959. % Switches tuning ...
  1960. (put 'torsion '!=tuning 'tunetorsion!>)
  1961. (put 'nonmetr '!=tuning 'tunenonmetr!>)
  1962. (put 'fancy '!=tuning 'tunefancy!>)
  1963. (put 'latex '!=tuning 'tunetex!>)
  1964. (put 'grg '!=tuning 'tunegrg!>)
  1965. (put 'reduce '!=tuning 'tunereduce!>)
  1966. (put 'maple '!=tuning 'tunemaple!>)
  1967. (put 'math '!=tuning 'tunemath!>)
  1968. (put 'macsyma '!=tuning 'tunemacsyma!>)
  1969. (put 'dfindexed '!=tuning 'tunedfindexed!>)
  1970. (put 'debug '!=tuning 'swotladka!>)
  1971. %---------- Special Treatment for Write ----------------------------
  1972. (put '![cord!] '!=datl '((datlc!> ![cord!] "Coordinates" t)))
  1973. (put '![const!] '!=datl '((datlc!> ![const!] "Constants" t)))
  1974. (put '![apar!] '!=datl '((datlc!> ![apar!] "Affine Parameter" nil)))
  1975. (put '![fun!] '!=datl '((funl!>)))
  1976. (put '![sol!] '!=datl '((solwri!>)))
  1977. %---------- Special Actions For Load/Unload ------------------------
  1978. (put '![cord!] '!=unl
  1979. '((putpnu!> nil ![cord!] (used!* !+grgvar !+grg) !=cord 1)))
  1980. (put '![const!] '!=unl
  1981. '((putpnu!> nil ![const!] (used!* !+grgvar !+grg) nil 2)))
  1982. (put '![apar!] '!=unl
  1983. '((putpnu!> nil ![apar!] (used!* !+grgvar !+grg) nil 4)))
  1984. (put '![fun!] '!=unl
  1985. '((putpnu!> (putfndp!>) ![fun!] (used!* !+fun !+grg) nil 3)))
  1986. %---------- Standard Null Metric -----------------------------------
  1987. % Signature (-,+,+,+)
  1988. (setq ![nullm!] '( ( nil -1 nil nil )
  1989. ( nil nil nil nil )
  1990. ( nil nil nil 1 )
  1991. ( nil nil nil nil ) ))
  1992. % Signature (+,-,-,-)
  1993. (setq ![nullm1!] '( ( nil 1 nil nil )
  1994. ( nil nil nil nil )
  1995. ( nil nil nil -1 )
  1996. ( nil nil nil nil ) ))
  1997. %---------- For Nice Printing --------------------------------------
  1998. (flag '( !. !, !; !_ !/!\ !* !** !+ !- !_!| ![ !:!\! !=
  1999. !#! !] !^ !/ !' !.!. !'!' !# !| !@ !> !< !~
  2000. !>!= !<!= !:
  2001. ) '!+nonsp)
  2002. (put 'em '!=printas '!E!M)
  2003. (put 'ym '!=printas '!Y!M)
  2004. %---------- Indices Manipulations ----------------------------------
  2005. (flag '( !' !^ !. !_ ) '!+indexman)
  2006. %-----------------------------------------------------------------------
  2007. (put '!a '!=uc '!A) (put '!A '!=lc '!a)
  2008. (put '!b '!=uc '!B) (put '!B '!=lc '!b)
  2009. (put '!c '!=uc '!C) (put '!C '!=lc '!c)
  2010. (put '!d '!=uc '!D) (put '!D '!=lc '!d)
  2011. (put '!e '!=uc '!E) (put '!E '!=lc '!e)
  2012. (put '!f '!=uc '!F) (put '!F '!=lc '!f)
  2013. (put '!g '!=uc '!G) (put '!G '!=lc '!g)
  2014. (put '!h '!=uc '!H) (put '!H '!=lc '!h)
  2015. (put '!i '!=uc '!I) (put '!I '!=lc '!i)
  2016. (put '!j '!=uc '!J) (put '!J '!=lc '!j)
  2017. (put '!k '!=uc '!K) (put '!K '!=lc '!k)
  2018. (put '!l '!=uc '!L) (put '!L '!=lc '!l)
  2019. (put '!m '!=uc '!M) (put '!M '!=lc '!m)
  2020. (put '!n '!=uc '!N) (put '!N '!=lc '!n)
  2021. (put '!o '!=uc '!O) (put '!O '!=lc '!o)
  2022. (put '!p '!=uc '!P) (put '!P '!=lc '!p)
  2023. (put '!q '!=uc '!Q) (put '!Q '!=lc '!q)
  2024. (put '!r '!=uc '!R) (put '!R '!=lc '!r)
  2025. (put '!s '!=uc '!S) (put '!S '!=lc '!s)
  2026. (put '!t '!=uc '!T) (put '!T '!=lc '!t)
  2027. (put '!u '!=uc '!U) (put '!U '!=lc '!u)
  2028. (put '!v '!=uc '!V) (put '!V '!=lc '!v)
  2029. (put '!w '!=uc '!W) (put '!W '!=lc '!w)
  2030. (put '!x '!=uc '!X) (put '!X '!=lc '!x)
  2031. (put '!y '!=uc '!Y) (put '!Y '!=lc '!y)
  2032. (put '!z '!=uc '!Z) (put '!Z '!=lc '!z)
  2033. %------- Trigonometric Functions ---------------------------------------
  2034. (flag '( sin cos tan cot sec csc
  2035. sinh cosh tanh coth sech csch
  2036. asin acos atan acot asec acsc
  2037. asinh acosh atanh acoth asech acsch ) '!+trig)
  2038. %============ End of GRGdecl.sl =========================================%